css总结:HTML中用position进行相对定位时与float属性连用容易产生的误区
来源:互联网 发布:51单片机delay函数 编辑:程序博客网 时间:2024/05/23 15:08
最近写静态网时将position与float属性连用,结果发现没有达到预期的效果(预期的设想是两个块彼此相连,而结果却是相互重叠了)
本人健忘,故将此记录下来,以下是我从中获取经验。
首先来看一个图示:
好的,假设我们有了两个块div1与div2,它们在样式表中我们分别对其设置为:
div1{width:100px;height:30px;background:red;position:relative;left:128px;float:left}
div2{width:100px;height:30px;background:green;position:relative;left:2px;float:left}
注:relative即相对定位,即相对正常位置进行定位。
那好,在这个前提之下,我不知道大家有没有对其产生误解,反正我是误解了,我的理解是:既然它说了相对正常位置,那好,我们先将div2撇开一边,div1应该是距页面左边界128px的距离,如果div2没有设置相对定位,即在上述设置中的“position:relative;left:2px;”删除,那么div2应该紧挨着div1才对是不是。
现在,问题来了,很显然啊,这不就是div2的正常位置吗,那么按理来说div2应该距div1有2px的距离紧挨div1才对呀,结果不然,其结果如下示图:
我们会发现,div2将div1覆盖了一部分。
现在,让我们来解释一下:
其实很简单,其实它说的正常位置也并非错误,只不过他的正常位置是抛却position:relative的正常位置,什么意思呢?就是说,它的正常位置就是没有受“position:relative”影响下的位置,通俗的讲,就是不存在“position:relative”的前提下它们所在的位置。
如果就div1来讲,如果没有设定“position:relative”,就应该仅靠边界才对,如示图:
而设置了之后,应该是这样的:
那么就div1和div2来讲,如果两个块均未设置相对定位,两个块应该紧挨在一起,且div1紧挨页面边界,如示图:
而这就是对于上述设置而言两个块的正常位置,也就是说两个块均是相对于上述其各自的位置而进行定位的,也就说我想达到我预想的效果,则需将div2设置为:div2{width:100px;height:30px;background:green;position:relative;left:130px;float:left},如示图:
最后,有什么不对的地方请指出,谢谢!
- css总结:HTML中用position进行相对定位时与float属性连用容易产生的误区
- CSS position 属性:绝对定位与相对定位,以及浮动
- css定位中position:absolute与float的区别
- css关于position属性的用法(绝对定位和相对定位的混淆)
- css的float,position属性详解
- 总结一下CSS中的定位 Position 属性
- 通俗易懂CSS(一)-相对定位和绝对定位position和float
- css中position的绝对定位和相对定位
- css position属性 以及 float、display、position的问题整合
- html css定位position
- HTML CSS 定位 position
- CSS定位属性Position
- CSS 定位position属性
- CSS定位position属性
- CSS Position 定位属性
- CSS 定位属性position
- float、clear、position(重点相对定位和绝对定位)用法总结
- CSS的position与float的问题
- Linux上的基础网络设备总结
- 简单介绍一些关于 Kaggle 比赛的知识
- 欧里几德及扩展欧里几德算法
- lx002水仙花数
- SQL中if语句统计班级党员人数
- css总结:HTML中用position进行相对定位时与float属性连用容易产生的误区
- 手把手教你用Git
- LeetCode 380. Insert Delete GetRandom O(1)
- STL之链表
- 关于Android中SQLite数据查看工具SQLiteStudio使用
- 有关Linux的一些问题
- Spring Cloud构建微服务架构(二)服务消费者
- 欢迎使用CSDN-markdown编辑器
- <HDU 2030>汉字统计(汉字机内码?)