高度坍塌:浮動(dòng)元素布局導(dǎo)致的問(wèn)題
高度坍塌的根源:浮動(dòng)盒子脫離了常規(guī)流,因此常規(guī)流盒子進(jìn)行高度計(jì)算時(shí),不會(huì)考慮浮動(dòng)盒子的高度。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .container{ padding:30px; background-color:blue; } .sub{ height:100px; width:100px; margin:10px; float:left; background-color: red; } </style> </head> <body> <div class="container"> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> </div> </body> </html>
效果展示:
.container的div元素沒(méi)有將10個(gè).sub的div元素包裹。
解決方法:
清除浮動(dòng),涉及CSS屬性:clear
clear:默認(rèn)值為none,不清除浮動(dòng)
clear:both,清除左右浮動(dòng),該元素必須出現(xiàn)在所有浮動(dòng)盒子的下方
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .container { padding: 30px; background-color: blue; } .sub { height: 100px; width: 100px; margin: 10px; float: left; background-color: red; } .clearfix::after { content: ""; display: block; clear: both; } </style> </head> <body> <div class="container clearfix"> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> <div class="sub"></div> </div> </body> </html>
效果展示:
聯(lián)系客服