css有三種基本的布局機制:標準流、浮動和定位。定位就是確定元素的位置,利用top/right/bottom/left這四個偏移屬性,可以準確地定義元素框相對於其正常位置應該出現的位置。top的優先順序要高於bottom,left的優先順序要高於right
相對定位:相對於元素原有位置的定位。相對定位並沒有脫離文件流,因此對於它的位置設定不會影響其它兄弟元素
絕對定位跟相對定位不同。它脫離了文件流,影響後面的兄弟元素。
1)相對body定位
在絕對定位中,相對於body元素定位的。設定top的時候,根據body的頂邊定位。設定bottom的時候,相對於螢幕的底邊定 位。left和right是相對於body左右邊定位的。
2)就近原則
巢狀的盒子設定了絕對定位,它會尋找離他最近的設定了定位的祖先元素(絕對定位,相對定位,固定定位),從而來定義相對的偏移量。
也就是說,此時不再以body定位,而是相對設定了定位的祖先元素定位。它是相對于父元素的padding頂點(包含padding)進行定位設定的。設定border會影響定位的結果
3)display失效
不論是行內元素,還是塊元素,設定了絕對定位,display屬性失效;不論是塊元素還是行內元素,都可以直接設定寬高
4)壓蓋現象
元素設定了絕對定位,此時會有壓蓋現象,後面的元素會顯示在前面的元素上面,後面還會繼續討論壓蓋現象
固定定位也是脫離文件流的定位,跟絕對定位很像。固定定位是相對於瀏覽器視窗的定位。脫離文件流,會影響兄弟元素(後面的兄弟元素會頂上來),不論是塊元素,還是行內元素,一旦固定定位,可以直接設定寬高;display屬性失效;可以通過偏移量設定盒子的寬高(沒有設定width或者height)
下面是定位的應用,可以在github上獲得**:
效果如下:
CSS定位布局
絕對定位 如果想為元素設定層模型中的絕對定位,需要設定position absolute 表示絕對定位 這條語句的作用將元素從文件流中拖出來,然後使用left right top bottom屬性相對於其最接近的乙個具有定位屬性的父包含塊進行絕對定位。如果不存在這樣的包含塊,則相對於body元素,即...
css布局 定位
1 為什麼需要定位?某個元素可以自由的在乙個盒子內移動位置,並且壓住其他盒子 滾動視窗時,盒子固定在某個位置 2 應用 下拉列表 模態框 web應用程式的一些基本效果 3 本質 將元素徹底從文件流中移走。允許將元素放在螢幕的任意位 置,還可以將乙個元素放到另乙個元素的前面或者後面,彼此重疊。按照定位...
css 定位布局
文件流 文件流,是指盒子按照html標籤編寫的順序依次從上到下,從左到右排列。塊元素佔一行,行內元素在一行之內從左到在排列,先寫的先排列,後寫的排在後面,每個盒子都佔據自己的位置。關於定位 可以使用css的 position 屬性來設定元素的定位型別,position 設定項如下 1 relativ...