position能够取五个值
参数 | 描述 |
---|---|
absolute | 绝对定位;脱离⽂档流的布局,遗留下来的空间由后⾯的元素填充。定位的起始位置为最近的⽗元素(postion不为static),不然为Body⽂档自己。 |
relative | 相对定位;不脱离⽂档流的布局,只改变⾃身的位置,在⽂档流原先的位置遗留空⽩区域。定位的起始位置为此元素原先在⽂档流的位置。 |
fixed | 固定定位;相似于absolute,但不随着滚动条的移动⽽改变位置。 |
static | 默认值;默认布局。 忽略 top, bottom, left, right和z-index |
inherit | 从父元素继承该属性的值 |
以上的absolute
和fixed
能够使得元素脱离文档流。git
position属性只是定义元素的定位方式,要想此元素能按照但愿的位置显示,就须要使⽤下⾯的属性(position:static不⽀持这些):github
bottom :表示向元素的下⽅插⼊多少像素,使元素向上移动多少像
素。布局
上⾯属性的值能够为负,单位: px 。
脱离⽂档流的布局,遗留下来的空间由后⾯的元素填充。定位的起始位置为最近的⽗元素(postion不为static),不然为Body⽂档
自己。post
不脱离⽂档流的布局,只改变⾃身的位置,在⽂档流原先的位置遗留空⽩区域。定位的起始位置为此元素原先在⽂档流的位置。spa
相似于absolute,但不随着滚动条的移动⽽改变位置。
表示此元素为默认定位⽅式。
从父元素继承定位⽅式。
1.父容器的position
属性为relative
code
由上图可知,div继承了父类的position属性(relative);这时候div-a没有脱离文档流,只是相对于原来的位置向右边偏移了,留下一个空位。参考绝对定位的图形。blog
注意:此时的父容器是没有设置宽高的,(见图),咱们能够看见父容器宽度为100%,高度自适应。继承
下面咱们把父容器的定位改为absolute
文档
2.父容器的position
属性为absolute
it
能够看出,div-a脱离了文档流,相对于父容器向右偏移了350px,后面的div-b占据了他的位置.
注意:此时咱们能够发现,父容器宽和高都是自适应的。
而后咱们在对两种状况进行研究。
static
父容器宽度为100%,高度自适应。
fixed
父容器宽高均自适应
从这里面。咱们不只能够看出inherit
的特性。并且咱们还发现了如下规则:
重点
在父容器没有设置宽高的时候,
relative
和static
时,及没有脱离文档流时,宽度为100%absolute
和fixed
时,及脱离文档流时,宽高为自适应