position相關問題的思考

2021-07-24 19:37:44 字數 1238 閱讀 9255

1、固定定位:fixed—-是否脫離文件流,層級是否改變。

html部分

class="part_fixed">固定的粉色塊div>

class="reference">參照的綠色塊div>

css部分

type="text/css">

body

div.part_fixed

.reference

style>

效果:視窗頂部只顯示固定定位的粉色塊。

原因:設定了固定定位的粉色塊脫離文件流,之前所在的位置消失,綠色塊向上移動,而粉色塊覆蓋在綠色塊上。

question:如果改變粉色塊的z-index,是否會讓綠色塊顯示?

answer : 固定粉的z-index設定的數值小於0,都能讓綠色塊顯示。表明脫離文件流後的固定塊層級比普通文件流的層級高。注意:z-index只能給擁有定位屬性的元素設定,比如給例子裡的綠色塊設定,是沒有什麼作用的。

結論:固定定位會使元素脫離文件流,而層級(z-index)高於普通文件流。

2、相對定位與固定定位的層級顯示

html部分

class="part_fixed">固定的粉色塊div>

class="part_relative">相對定位的藍色塊div>

class="reference">我是參照的標桿div>

css部分

div

.part_fixed

.part_relative

.reference

效果:藍色的相對塊覆蓋在粉色塊上面,粉色塊出現10px的高度,藍色塊全部顯示,而沒有定位屬性的黃色塊出現在藍色塊下面,顯示高度為40px。

原因:固定粉和相對藍都擁有定位(position)的元素,其z-index屬性被啟用,如果有疊層,那麼將會是寫在後面的元素疊在前面的元素上。固定粉因脫離文件流,之前的空間消失,由相對藍取代,(相對定位不會使元素脫離文件流),並層疊在粉塊上。藍色塊相對其原來的位置向下移動10px,其原來位置的空間保留。所以黃色塊的上面還是有乙個透明的50px的空間。藍色塊由於有定位屬性,所以層級比普通文件(黃塊),會檔住黃色塊的10px,所以黃塊只顯示了40px。

結論:

定位元素,如未設定z-index值,那麼後寫的元素層級大於先寫的。

相對定位:原空間保留,其之後的普通文件流都是以它原空間位置來排序。並且,相對定位的元素層級高於普通文件流的,會蓋住其後緊跟的普通文件流。

Position定位相關屬性

語法 position absolute relative static fixed inherit 其中absolute relative為常用屬性,常見形式為組合使用 absolute 絕對定位 1 如果要定位的元素a的父標籤沒有設定定位時,那麼a就相對於瀏覽器視窗絕對定位。2 如果要定位的元素...

CSS定位屬性 position 相關介紹

position屬性用來定義元素的定位方式。static 預設值 absolute 絕對定位 fixed 固定定位 relative 相對定位 sticky 粘性定位 css3新增 定位的作用 以下就五個屬性值展開介紹 一 position static 預設值,無定位 此時 top right b...

關於position 定位問題

頁面想實現滑鼠移動到乙個電影的時,在當前電影上覆蓋乙個新的div,顯示電影的詳細資訊,遇到了乙個問題 關於新的div如何能精準的覆蓋在原div上 解決方案 通過設定父元素的position為relative 然後讓新的div的position為absolute,這樣新的div會對應原父元素的位置進行...