浅谈CSS+DIV盒子的相对和绝对定位
2012-11-07 11:01
288 查看
CSS定位属性position有四个选项值:static、absolute、relative、fixed。在这里,只说一下最常用到得两个定位属性值,absolute和relative定位。
绝对定位(absolute):将被赋予此定位方法的对象从文档标准流中拖出,使用left,right,top, bottom等属性相对于其最接近的一个最有定位设置的父级对象进行绝对定位,如果对象的父级没有设置定位属性,即还是遵循HTML定位规则的,没有脱离标准流的盒子,则以 body 对象左上角作为参考进行定位,进行绝对定位后的盒子原来在标准流中的位置将被删除。绝对定位对象可层叠,层叠顺序可通过 z-index 属性控制,z-index值为无单位的整数,数值越大的在最上面,可以有负值(目前负值FF不支持)。
相对定位(relative):与绝对定位不同,相对定位的对象没有脱离文档标准流,它同样是依据left,right,top,bottom等属性在正常文档流中偏移自身位置,同样可以用z-index进行分层设计。
无论是绝对定位还是相对定位都不会对元素自身的空间造成影响。
有一种对这两种定位的理解是:贡献的绝对定位和自私的相对定位。个人觉得这种理解是非常贴切的,在绝对定位中,脱离标准流的盒子离开标准流时会自动贡献出自己原来在标准流中所占的空间,给标准流中别的盒子使用。而在相对定位中,盒子只是相对于自己原来的位置有所偏离,并未离开标准流,但是可能遮住了邻近的盒子,在占有原有空间的基础上,又侵占了别的盒子的空间,为整个布局带来混乱,
最后来用一个比喻总结两种定位的特征,绝对定位就像一栋楼的不同楼层,不同楼层怎么移动都没有影响,但都与地基相关,相对定位就像一栋楼的同一层楼内,同一空间内,怎么移动都会有影响。
绝对定位(absolute):将被赋予此定位方法的对象从文档标准流中拖出,使用left,right,top, bottom等属性相对于其最接近的一个最有定位设置的父级对象进行绝对定位,如果对象的父级没有设置定位属性,即还是遵循HTML定位规则的,没有脱离标准流的盒子,则以 body 对象左上角作为参考进行定位,进行绝对定位后的盒子原来在标准流中的位置将被删除。绝对定位对象可层叠,层叠顺序可通过 z-index 属性控制,z-index值为无单位的整数,数值越大的在最上面,可以有负值(目前负值FF不支持)。
相对定位(relative):与绝对定位不同,相对定位的对象没有脱离文档标准流,它同样是依据left,right,top,bottom等属性在正常文档流中偏移自身位置,同样可以用z-index进行分层设计。
无论是绝对定位还是相对定位都不会对元素自身的空间造成影响。
有一种对这两种定位的理解是:贡献的绝对定位和自私的相对定位。个人觉得这种理解是非常贴切的,在绝对定位中,脱离标准流的盒子离开标准流时会自动贡献出自己原来在标准流中所占的空间,给标准流中别的盒子使用。而在相对定位中,盒子只是相对于自己原来的位置有所偏离,并未离开标准流,但是可能遮住了邻近的盒子,在占有原有空间的基础上,又侵占了别的盒子的空间,为整个布局带来混乱,
最后来用一个比喻总结两种定位的特征,绝对定位就像一栋楼的不同楼层,不同楼层怎么移动都没有影响,但都与地基相关,相对定位就像一栋楼的同一层楼内,同一空间内,怎么移动都会有影响。
相关文章推荐
- 详解学习DIV+CSS之绝对定位和相对定位
- CSS+DIV里面相对定位和绝对定位的区别
- 实例演示div+css的绝对定位和相对定位
- div+css 中相对定位于绝对定位的详解
- 实例演示div+css的绝对定位和相对定位布...
- DIV+CSS相对IE6、IE7和IE8的兼容问题
- CSS中的绝对定位与相对定位
- CSS中的绝对定位与相对定位
- [28期] 浅谈几句DIV+CSS布局
- DIV横向排列_CSS如何让多个div盒子并排同行显示
- 简单的盒子模型Div+Css
- div垂直居中 css div盒子上下垂直居中
- DIV横向排列_CSS如何让多个div盒子并排同行显示
- CSS中的绝对定位与相对定位
- div+css相对定位和绝对定位用法实例详解
- 利用CSS实现DIV在浏览器中位置相对固定,而且IE6下滚动不闪
- 09-DIV+CSS-流和盒子模型初识
- DIV横向排列_CSS如何让多个div盒子并排同行显示
- css未知宽高的盒子div居中的多种方法
- CSS中的绝对定位与相对定位