html5 css3學習(六)之高度塌陷問題

2021-10-21 02:25:48 字數 1068 閱讀 2971

在文件中,父元素的高度預設是被子元素撐開,但是當子元素設定浮動以後,子元素會完全脫離文件流,此時將會導致子元素無法撐起父元素的高度,導致父元素塌陷,下面的元素會向上移動。

根據w3c標準,頁面中隱含乙個block formatting context 簡稱bfc,該屬性可以開啟或關閉,當開啟父元素的bfc以後,會有以下特性:

1、父元素的垂直外邊距不會和子元素重疊

2、開啟bfc的元素不會被浮動元素所覆蓋

3、開啟bfc的元素可以包含浮動的元素

開啟bfc(ie6不支援,ie6中設定zoom:1避免高度塌陷,zoom是放大元素,後面是放大倍數)

1、設定元素浮動:雖然可以撐開,但是父元素寬度丟失,也會導致下面元素上移

2、設定元素絕對定位

3、設定元素為inline-block:可以撐開,但是父元素寬度丟失

4、將元素的overflow設定為乙個非visible的值

推薦:將父元素overflow設定為hidden,但開啟相對定位會出現影響

通過clear可以用來清除浮動對當前元素的影響

可選值

none:預設值,不清除浮動

left:清除左側浮動元素對當前元素的影響

right:清除右側浮動元素對當前元素的影響

both:清除兩側浮動元素對當前元素的影響,清除對它影響最大的元素的影響

解決高度塌陷方案二:

可以直接在高度塌陷的父元素的最後,新增乙個空白的div,由於這個div沒有浮動,所以可以通過它可以撐開父元素的高度,然後對其清除浮動,可以通過空白的div撐開父元素的高度,基本沒有***

1、在頁面中新增空白div

.clear

通過偽類來向元素的最後新增乙個空白的塊元素,然後對其清除浮動,通過css新增,不會改變網頁結構。最推薦使用

在ie6中不支援after偽類。還需要通過開啟haslayout來處理。zoom:1

.box1:after

菜鳥學習HTML5 CSS3(一)

主要內容 1.新的文件型別宣告 dtd 2.新增的html5標籤 3.刪除的html標籤 4.重新定義的html標籤 一 新的文件型別宣告 dtd html 5的dtd宣告為 等也是正確的,因為html語法是不區分大小寫的。在編寫html5文件時,要求指定文件型別,以確保瀏覽器能在html5的標準模...

初學HTML5 CSS3動畫

乙個完整的css animations由兩部分構成 在css3中使用 keyframes規則來建立動畫,keyframes可以設定多個關鍵幀,每個關鍵幀表示動畫過程中的乙個狀態,多個關鍵幀就可以使動畫十分絢麗。keyframes animationname animation屬性用於描述動畫的css...

重頭學習html5 css3系列筆記(3)

復合選擇器 字型屬性 文字屬性 css 設定文字內容 字型,大小,對齊方式 的外形 寬度,邊框樣式,邊距 版面的布局和外觀顯示樣式 css美化html 讓html專注於結構 css由兩部分構成 選擇器 一條或多條宣告 css選擇器 又分基礎選擇器和復合選擇器兩大類 基礎選擇器 由單個選擇器構成,又包...