日期:2014-05-17  浏览次数:20620 次

css的定位与文档流
      谈到CSS的定位机制时都会提到一个关键词“文档流”。那么什么是文档流呢?将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流

       CSS的定位机制有3种:普通流、浮动(float:left/right/none)和定位 (position:static/relative/absolute/)

       普通流中的元素的位置由元素在 (X)HTML 中的位置决定。浮动元素不占任何正常文档流空间,而浮动元素的定位还是基于正常的文档流,然后从文档流中抽出并尽可能远的移动至左侧或者右侧。文字内容会围绕在浮动元素周围。当一个元素从正常文档流中抽出后,仍然在文档流中的其他元素将忽略该元素并填补他原先的空间。 详见:http://www.w3school.com.cn/css/css_positioning.asp


        基于文档流, 我们可以很容易理解以下的定位模式:

相对定位relative:相对于元素在文档流中位置进行偏移. 但保留原占位。相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
绝对定位absolute:完全脱离文档流, 相对于position属性非static值的最近父级元素进行偏移。
固定定位static:完全脱离文档流, 相对于视区进行偏移。