日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一套完整代码解析 高度坍塌的解决方案(最全)

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一套完整代码解析 高度坍塌的解决方案(最全) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

一:方案總結(jié)

二:代碼解析

原因引入

代碼塊 可直接使用調(diào)試(帶解析)

圖示:


一:方案總結(jié)

??? ??????????? /* 方案1:父元素自設(shè)高度 */
?? ??? ??? ??? ?/* height: 100px; */


?? ??? ??? ??? ?/* 方案2:父元素觸發(fā)BFC結(jié)界 */
?? ??? ??? ??? ?/* overflow: hidden; */

????????????????<!-- 方案3:找一個(gè)空的div專門干清除浮動(dòng)的事情 -->
?? ??? ??? ???? <!-- <div></div> -->

??????????????? /* 方案4:讓最后一個(gè)子元素來清除浮動(dòng)影響 */
?? ??? ??? ??? ?/* 我后悔了,我不浮動(dòng)了,我來清除哥哥們浮動(dòng)對父親產(chǎn)生的影響 */
?? ??? ??? ??? ?/* 清除左右兩個(gè)方向子元素浮動(dòng)對父元素產(chǎn)生的影響 */
?? ??? ??? ??? ?/* clear: both; */


?? ??? ??? ??? ?/* 方案5:讓父級(jí)也浮動(dòng),成為和子級(jí)同一層的元素 */
?? ??? ??? ??? ?/* float: left; */

??????????????? /*方案6 使用after偽元素結(jié)合clear屬性解決高度塌陷*/

??????????????? .fu::after{
??????????????????? content:"";/*在浮動(dòng)元素的父元素內(nèi)容區(qū)最后加上內(nèi)容*/
??????????????????? display:block;/*默認(rèn)情況下after所添加的內(nèi)容為行內(nèi)元素*/
??????????? ????????clear:both;/*清除浮動(dòng)元素影響*/
??????????????? }

二:代碼解析

原因引入

進(jìn)行頁面布局時(shí),為了能夠達(dá)到自適應(yīng),通常高度是不會(huì)進(jìn)行固定設(shè)置的,而使用float進(jìn)行元素的浮動(dòng)后,由于沒有內(nèi)容的高度,所以會(huì)發(fā)生父元素的高度塌陷問題,為了解決此類問題這里給出了幾種解決方法。

代碼塊 可直接使用調(diào)試(帶解析)

<!DOCTYPE html>
<html>
?? ?<head>
?? ??? ?<meta charset="utf-8">
?? ??? ?<title>父級(jí)高度坍塌問題解決</title>
?? ??? ?<style type="text/css">
?? ??? ??? ?/* 1.給父元素設(shè)置邊框 */
?? ??? ??? ?.fu {
?? ??? ??? ??? ?border: 5px solid #000;
?? ??? ??? ??? ?/* 方案1:父元素自設(shè)高度 */
?? ??? ??? ??? ?/* height: 100px; */
?? ??? ??? ??? ?/* 方案2:父元素觸發(fā)BFC結(jié)界 */
?? ??? ??? ??? ?/* overflow: hidden; */
?? ??? ??? ??? ?/* 方案5:讓父級(jí)也浮動(dòng),成為和子級(jí)同一層的元素 */
?? ??? ??? ??? ?/* float: left; */
?? ??? ??? ?}
?? ??? ??? ?/* 2.給父級(jí)下的所有div設(shè)置大小 */
?? ??? ??? ?.fu > div {
?? ??? ??? ??? ?width: 100px;
?? ??? ??? ??? ?height: 100px;
?? ??? ??? ?}
?? ??? ??? ?/* 3.給5個(gè)兒子元素設(shè)置不同的背景色 */
?? ??? ??? ?.z1 {
?? ??? ??? ??? ?background-color: rgba(255,0,0,1);
?? ??? ??? ??? ?float: left;
?? ??? ??? ?}
?? ??? ??? ?.z2 {
?? ??? ??? ??? ?background-color: orange;
?? ??? ??? ??? ?float: left;
?? ??? ??? ?}
?? ??? ??? ?.z3 {
?? ??? ??? ??? ?background-color: yellow;
?? ??? ??? ??? ?float: right;
?? ??? ??? ?}
?? ??? ??? ?.z4 {
?? ??? ??? ??? ?background-color: green;
?? ??? ??? ??? ?float: left;
?? ??? ??? ?}
?? ??? ??? ?.z5 {
?? ??? ??? ??? ?background-color: cyan;
?? ??? ??? ??? ?float: left;
?? ??? ??? ??? ?/* 方案4:讓最后一個(gè)子元素來清除浮動(dòng)影響 */
?? ??? ??? ??? ?/* 我后悔了,我不浮動(dòng)了,我來清除哥哥們浮動(dòng)對父親產(chǎn)生的影響 */
?? ??? ??? ??? ?/* 清除左右兩個(gè)方向子元素浮動(dòng)對父元素產(chǎn)生的影響 */
?? ??? ??? ??? ?/* clear: both; */
?? ??? ??? ?}
?? ??? ??? ?/* 給父元素最后生成一個(gè)空白子元素,變塊級(jí),清除浮動(dòng)影響 */
?? ??? ??? ?.clearfix::after {
?? ??? ??? ??? ?content: ''; /* 在父級(jí)最后生成一個(gè)空白的新的子元素 */
?? ??? ??? ??? ?display: block;
?? ??? ??? ??? ?clear: both;
?? ??? ??? ?}
?? ??? ?</style>
?? ?</head>
?? ?<body>
?? ??? ?<div class="fu clearfix">
?? ??? ??? ?<div class="z1"></div>
?? ??? ??? ?<div class="z2"></div>
?? ??? ??? ?<div class="z3"></div>
?? ??? ??? ?<div class="z4"></div>
?? ??? ??? ?<div class="z5"></div>
?? ??? ??? ?<!-- 方案3:找一個(gè)空的div專門干清除浮動(dòng)的事情 -->
?? ??? ??? ?<!-- <div></div> -->
?? ??? ?</div>
?? ?</body>
</html>

圖示:

解決前

?

解決后

?

總結(jié)

以上是生活随笔為你收集整理的一套完整代码解析 高度坍塌的解决方案(最全)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。