HTML5之高度塌陷問題的解決
所謂的高度塌陷,意即當給子元素設(shè)置浮動時,其父元素高度會丟失的情況。通過實際代碼進行演示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
main {
width: 100%;
background-color: #ccc;
}
.one {
float: left;
width: 200px;
height: 200px;
background-color: skyblue;
}
.two {
float: right;
width: 200px;
height: 200px;
background-color: tomato;
}
section {
width: 400px;
height: 400px;
background-color: orange;
}
</style>
</head>
<body>
<main>
<div class="one"></div>
<div class="two"></div>
</main>
<section></section>
</body>
</html>
初始時的效果,高度出現(xiàn)塌陷,下部的橘色模塊會上移?,F(xiàn)給出五種解決方案:

一、給父元素設(shè)置固定高度,雖然簡便,但不推薦使用,因為網(wǎng)頁的內(nèi)容是動態(tài)變化的,給定高度不利于后期內(nèi)容增添。
給main父級加上高度,設(shè)為200px即可

對應(yīng)運行結(jié)果:

二、將父元素的overflow設(shè)為一個非visible值,適用于子元素未溢出的情形。這里給main設(shè)置overflow:hidden,效果同上圖一樣

對應(yīng)運行結(jié)果:

三、利用clear屬性清除浮動影響。
先于main中添加一個類名為box的空div標簽,再于style中設(shè)置其clear屬性,實現(xiàn)效果同上


對應(yīng)運行結(jié)果:

四、利用after偽類給父級添加一個空塊級內(nèi)容,并設(shè)置clear屬性
這種方法可以看作是第三種方法的優(yōu)化,因為一個空標簽其實是比較多余的,可以通過after偽類進行添加。添加下圖代碼后,便能解決問題。

對應(yīng)運行結(jié)果:

五、直接使用clearfix類,引入以下代碼

之后向main添加clearfix類即可

對應(yīng)運行結(jié)果:

到此這篇關(guān)于HTML5之高度塌陷問題的解決的文章就介紹到這了,更多相關(guān)HTML5高度塌陷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
Html5讓容器充滿屏幕高度或自適應(yīng)剩余高度的布局實現(xiàn)
這篇文章主要介紹了Html5讓容器充滿屏幕高度或自適應(yīng)剩余高度的布局實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下2020-05-14
HTML5 textarea高度自適應(yīng)的兩種方案
這篇文章主要介紹了HTML5 textarea高度自適應(yīng)的兩種方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起2020-04-08


