css中一共有四种定位分别是默认,相对,绝对,固定
position:static
,这种定位是默认的,一般没什么实际的作用。
position:relative
,相对定位,不会脱离文档流,类似于static,按顺序排列,一般设置也不会有什么变化,可以通过margin-top/right/bottom/left
来改变框的位置
position:absolute
,绝对定位,这种定位脱离文档流,可以理解为跟其他的元素不再一个次元中,可以用top/right/bottom/lef
t来控制位置,
absolute是相对于最近祖先非static定位来定位的,如果说他的父级定位是默认的,那么他就会继续向上找父级的父级,直到找到非static定位为基准点,比如在下面的代码中
三个属性
display属性规定元素生成框的类型。较为常见的有none-缺省值(用于隐藏元素,元素会消失于视界和文档流中)`
block-块级元素,
inline-block-行内块级元素,
list-item`列表样式块级元素……….(display种类很多,可查阅资料http://www.w3school.com.cn/cssref/pr_class_display.asp)
position属性规定元素的定位类型,常用于布局。
static-默认值,元素出现在正常文档流中(此时不受top、left、right、bottom、z-index等属性影响);
absolute
-绝对定位,脱离文档流,相对于它第一个非static
父元素进行定;
fixed
-固定定位,脱离文档流,相对于浏览器窗口进行定位;
relative
生成相对定位的元素,没有脱离文档流,相对于其正常文档流中的(自身)位置进行定位。
float
属性,定义一个元素浮动方向,最初用于图像使文本环绕,现在是一种布局方式。不论浮动元素本身是何种框类型,浮动后会生成一个块级框。
当然还有inherit 与sticky 这几个属性, 有时会发生奇效