1.文檔流
簡單說就是元素按照其在 HTML 中的位置順序決定排布的過程。HTML的布局機制就是用文檔流模型的,即塊元素(block)獨占一行,內聯元素(inline)不獨占一行。
一般使用margin是用來隔開元素與元素的間距;padding是用來隔開元素與內容的間隔。margin用于布局分開元素使元素與元素互不相干;padding用于元素與內容之間的間隔,讓內容(文字)與(包裹)元素之間有一段“距離”。只要不是float和絕對定位方式布局的,都在文檔流里面。
2.position屬性介紹
3.相對定位
relative生成相對定位的元素,相對于其正常位置進行定位。
相對定位完成的過程如下:
按默認方式(static)生成一個元素(并且元素像層一樣浮動了起來)。相對于以前的位置移動,移動的方向和幅度由 left、right、top、bottom 屬性確定,偏移前的位置保留不動。
<style type="text/css"> #box1 { margin: 20px; width: 200px; height: 200px; background-color: yellow; } #box2 { margin: 20px; width: 200px; height: 200px; background-color: red; /*position: relative; left: 100px; top: 100px;*/ } </style> <div id="box1"></div> <div id="box2"></div>
其中box2中的注釋代碼未生效前,是按照文檔流進行排序呈現。
但是,當注釋代碼取消注釋生效后,就會相對文檔流中應當呈現的位置進行移動。
所以,相對定位的參照物是它本身。
4.絕對定位
絕對定位與相對定位的一大不同之處就是,當我們把一個元素設置成絕對定位,那么這個元素將會脫離文檔流,其他元素就會認為這個元素不存在于文檔流中而填充它原來的位置。絕對定位元素根據它的參照物移動自己的位置,而參照物則需要根據它祖先元素的定位設置來確定。
所謂根據它祖先元素的定位設置來確定簡單理解為:相對于該元素最近的已定位的祖先元素,如果沒有一個祖先元素設置定位,那么參照物是body層。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
|
新聞熱點
疑難解答