CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。
一、position 属性的作用
position属性用来指定一个元素在网页上的位置,一共有5种定位方式,即position属性主要有五个值。
static
relative
fixed
absolute
1.相对定位:relative
相对定位:让元素相对于自己原来的位置,进行位置调整(可用于盒子的位置微调),它必须搭配top、bottom、left、right这四个属性一起使用,用来指定偏移的方向和距离。而且不脱出文档流,还占据着位置。
div {
position: relative;
top: 20px;
}
2.绝对定位:absolute
绝对定位:相对于上级元素(一般是父元素)进行偏移,即定位基点是父元素。它有一个重要的限制条件:定位基点(一般是父元素)不能是static定位,否则定位基点就会变成整个网页的根元素html。另外,absolute定位也必须搭配top、bottom、left、right这四个属性一起使用。absolute脱出文档流,不占据本身的位置。
/*
HTML 代码如下
<div id="father">
<div id="son"></div>
</div>
*/
#father {
positon: relative;
}
#son {
position: absolute;
top: 20px;
}
上面代码中,父元素是relative定位,子元素是absolute定位,所以子元素的定位基点是父元素,相对于父元素的顶部向下偏移20px。
3.固定定位:fixed
固定定位:就是相对浏览器窗口进行定位。无论页面如何滚动,这个盒子显示的位置不变。比如我们经常看到的网页右下角显示的“返回到顶部”,就可以固定定位。
div {
position: fixed;
top: 0;
}
上面代码中,div元素始终在视口顶部,不随网页滚动而变化。
4.static 属性值
static:是position属性的默认值。如果省略position属性,浏览器就认为该元素是static定位。