对position的几个值用法有点模糊,所以来区分下几个值得不同与用法。方便自己以后查找。
首先我们要明确为什么需要用到定位,因为有些布局我们无法在正常的文档流中来布局,这时我们就需要left,top,bottom,right等属性来改变元素的位置完成布局。但是这些属性默认情况下是无法生效的,所以就需要position来设置不同的定位方法来让我们可以使用这些属性。
1.static静态定位
static是position的默认值,left,top,bottom,right这些属性对于static的设置都是无效的。
2.固定定位 fixed
当position的值为fixed,元素的位置相对于浏览器窗口是固定位置。这时元素就会脱离文档流,不在占据文档流的空间,也就是说该元素是可以和文档流的元素可以重叠在一起。fixed主要是用来把元素固定在视窗里面。
3.相对定位 relative
相对定位的元素可以通过left等属性来移动,但它原本所占的空间不会改变。通常用来作为绝对定位的容器。
4.绝对定位 absolute
绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>:
absolute 定位使元素的位置与文档流无关,因此不占据空间。
absolute 定位的元素和其他元素重叠。