CSS position属性用来设定元素的位置。
语法:
position: static | relative | absolute | sticky | fixed
- static
默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
- relative
生成相对定位的元素,相对于其正常位置进行定位。
举个例子来说:
html代码部分:
1 | <section id="one">1 |
CSS代码部分:
1 | #one, #two, #three, #four { |
显示结果:
Play with this gist on SassMeister.
上例中#two
向下移动了10px,向左移动了10px。
- absolute
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。如果父元素没有设定position或者position设定为static
则继续向上找父元素直到找到根元素。
元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
举个例子:
HTML代码:
1 | <section id="parent"> |
CSS代码:
1 | #parent { |
显示结果为:
上例中#child
元素设定position为absolute
,但是其父元素的position没有设置(默认为static
),所以#child
会相对于body定位: top: 0; right: 0; 即显示在页面的右上角。
如果把#parent
元素的position设定为relative
或者absolute
或者fixed
,则显示结果为:
Play with this gist on SassMeister.
- fixed
生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。
元素不会受浏览器滚动条的影响。