CSS定位方式

    根据display属性,我们可以将元素分为块级元素(block)和内联级元素(inline)。它们最大区别是:block元素可以设置宽度,独占一行。inline元素宽度由内容决定,与其他元素并列在一行。

    常见的block属性元素有:。

    常见的inline属性元素有: span, a, em

    宽高可以自行设置,默认宽度由父容器决定,默认高度有内容决定。自己独占一行。

    宽度可以自行设置,类似block,但是与其他元素共占一行,类似inline。长用于设置垂直居中。

    此属性指让标签元素以表格单元格的形式呈现,单元格有一些比较特殊的属性,可以设置元素的垂直居中等。

    position属性

    元素在页面中的布局遵守一套文档流的方式,默认的定位属性值为static。它其实是未被设置定位的。

    元素如果被定位了,那么它的top,left,bottom,right值就会生效,能设置定位的属性是relative,absolute和。

    设置了相对定位之后,通过修改top,left,bottom,right值,元素会在自身文档流所在位置上被移动,其他的元素则不会调整位置来弥补它偏离后剩下的空隙。

    absolute(绝对定位)

    设置了绝对定位之后,元素脱离文档流,其他的元素会调整位置来弥补它偏离后剩下的空隙。元素偏移是相对于是它最近的设置了定位属性(position值不为static)的元素。

    且如果元素为块级元素(display属性值为block),那么它的宽度也会由内容撑开。因为:

    设置了固定定位之后,元素相对的偏移的参考是可视窗口,即使页面滚动,元素仍然会在固定位置。

    参考资料