css中的定位(position)
2017-03-20 20:30
281 查看
w3c中对position各个 属性值定义:
static
元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
relative
元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
absolute
元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
fixed
元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。
我自己的理解
absolute,fixed,relative三个定位属性的区别:
1.参考位置不同。
(1).relative的参考位置是它自己本来所应该在的位置,即不加定位时所处的位置。
(2).absolute的参考位置是它的父元素,但这个父元素必须设置了position属性。如果它的直接父级没有设置定位属性,就一层一层的往上找,直到找到一个设置了position定位属性的父元素。若还是找不到,就把body作为它的定位参照物,进行定位。
(3).fixed的参考位置则是浏览器的视窗。
2.是否脱离文档流
什么叫做脱离文档流呢?脱离文档流就是说元素本身失去了宽和高,也就是说它自己其实在那个位置,但是它之后的其他元素却看不见它。直接占据了它的位置,于是它就直接被无视了。
当position属性被设置成relative时不会脱离文档流,但其实保存的是那个定位之前的位置。设置absolute和fixed时就会脱离文档流。所以呢,我们有时候要给一个元素设position为absolute时,就会把父级的position属性设置为relative。
static
元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
relative
元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
absolute
元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
fixed
元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。
我自己的理解
absolute,fixed,relative三个定位属性的区别:
1.参考位置不同。
(1).relative的参考位置是它自己本来所应该在的位置,即不加定位时所处的位置。
(2).absolute的参考位置是它的父元素,但这个父元素必须设置了position属性。如果它的直接父级没有设置定位属性,就一层一层的往上找,直到找到一个设置了position定位属性的父元素。若还是找不到,就把body作为它的定位参照物,进行定位。
(3).fixed的参考位置则是浏览器的视窗。
2.是否脱离文档流
什么叫做脱离文档流呢?脱离文档流就是说元素本身失去了宽和高,也就是说它自己其实在那个位置,但是它之后的其他元素却看不见它。直接占据了它的位置,于是它就直接被无视了。
当position属性被设置成relative时不会脱离文档流,但其实保存的是那个定位之前的位置。设置absolute和fixed时就会脱离文档流。所以呢,我们有时候要给一个元素设position为absolute时,就会把父级的position属性设置为relative。
相关文章推荐
- css position: absolute、relative定位问题详解
- CSS中背景background-position负值定位深入理解
- 浅析CSS——元素重叠及position定位的z-index顺序
- 码农成长记——css之hover、定位position
- CSS absolute、position 定位
- 浅析CSS——元素重叠及position定位的z-index顺序
- CSS 详细解读定位属性 position 以及参数
- CSS中背景background-position负值定位深入理解
- css之position相对定位和绝对定位
- [教程] [译]10步掌握CSS布局定位: position static relative absolute float
- CSS布局中的定位position
- CSS中的定位(position)
- CSS的定位,浮动与清除浮动,position的定位
- 浅析CSS——元素重叠及position定位的z-index顺序
- CSS中背景background-position负值定位深入理解
- CSS中position的absolute如何相对于父元素的位置进行定位
- CSS background-position 背景定位的用法
- 总结一下CSS中的定位 Position 属性
- css基础 绝对定位 position:absolute 相对于定位的祖先元素进行定位
- CSS之Position相对定位和绝对定位