定位 浮動 疊放

2022-01-20 00:54:58 字數 1332 閱讀 6231

浮動,可以讓頁面併排顯示,製作乾淨整潔的布局。有時候需要用到定位的技術。

position屬性值有static、fixed、relative、absolute、inherit

float屬性值有left、right、none、inherit

設計頁面布局時候,常需要用到浮動,它是頁面定位的一種基本功能。浮動可以建立乙個自然流布局,同時允許元素設定自身尺寸和父元素容器的尺寸大小。

乙個元素浮動時候,其位置依賴於其周邊元素,其周邊元素及其擺放位置取決於圍繞他的元素的文件物件模型(dom)。

浮動也會給其父元素帶來影響。如頁面的內容設定了乙個寬度,子元素的浮動確定了他們的位置,但浮動元素不會影響父元素的寬度。這樣做會讓父元素塌陷,從而使父元素的高度為「0」,以及忽略其他的屬性。巢狀的元素也可能出現樣式錯誤。針對這樣的問題,我們可以採用在父元素中設定清除浮動來解決。關於清除浮動有幾種方式:

1.clear:left;

clear:right;

clear:both;

這種方式有一定效果,但不太適合語義化。

2.overflow:auto;

overflow:hidden;

備註:使用「overflow:auto;」,在ie瀏覽器中會給元素新增滾動條,這樣一來,最好是直接使用「overflow:hidden;」來清除浮動。缺點:可能會影響樣式的效果,比如盒子陰影效果

3.clearfix

「clearfix」技巧是基於在父元素上使用「:before」和「:after」兩個偽類。使用這些偽類,我們可以在浮動元素的父容器前面和後面建立隱藏元素。「:before」偽類是用來防止子元素頂部的外邊距塌陷,使用「display: table」建立乙個匿名的「table-cell」元素。這也確保在ie6和ie7下具有一致性。「:after」偽類是用來防止子元素的底部的外邊距塌陷,以及用來清除元素的浮動。

定位屬性值:

static:預設值,不接受位置屬性值設定

relative:相對定位元素的位移是相對於元素自身的邊緣進行位移。可以給元素設定位移(offset)「top、right、bottom和left」屬性。它們原先的位置仍保留,仍屬於自然流。

absolute:脫離文件流。相對於div的父元素進行絕對定位,

使用絕對定位的元素可以指定垂直和水平的位移屬性,使絕對定位元素相對於設定了相對定們的祖先元素邊緣進行移位。

fixed:相對於瀏覽器視窗,不會隨滾動條滾動。

元素疊放順序:

z-index屬性用來設定元素的層疊順序。值越大越在上面。

給元素設定「z-index」屬性及使用盒子位移屬性,都要先在這個元素上設定了「position」屬性值為「relatvie」、「absolute」或者「fixed」之一。

css中的定位疊放次序z index

我們知道,絕對定位是不占用位置的,那我假如有三個絕對定位的一模一樣的盒子,那哪個浮在最上面呢?看看下面 doctype html en utf 8 viewport content width device width,initial scale 1.0 document box big middl...

疊放箱子問題

疊放箱子問題 description 某港口有一批貨櫃,將其編號,分別為1至n。每乙個箱子的外型尺寸都是一樣的,現在要將其中某些貨櫃疊放起來,貨櫃疊放的規則如下 1 每個貨櫃上最多只能直接疊放乙個貨櫃。2 編號較小的貨櫃不能放在編號較大的貨櫃之上。3 每個貨櫃都給出了自身的重量和可承受的重量,每個貨...

疊放箱子問題

疊放箱子問題 time limit 10000ms memory limit 65536k total submit 309 accepted 115 case time limit 1000ms description 某港口有一批貨櫃,將其編號,分別為1至n。每乙個箱子的外型尺寸都是一樣的,現在...