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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bfc是什么_关于margin的两个经典bug,以及bfc简述

發布時間:2023/12/19 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bfc是什么_关于margin的两个经典bug,以及bfc简述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

margin兩個經典bug:

處理bug漏洞,只能彌補,不能完全解決。

一、margin 塌陷問題:

沒加 margin 時,

給wrapper的子元素加上margin-top之后,發現父元素也跟著子元素走,

給wrapper加上margin-top之后,發現子元素的margin-top變成100px了,這就是margin塌陷問題,

注意:垂直方向的margin-top,父子元素是結合到一起的,它倆會取最大的值。

怎么彌補這個bug呢?有兩個方法。

1、給它的父元素加條線,加個頂。(這種做法不專業)

2、觸發bfc。(這種方法比較專業)

那么bfc是什么呢?我們先來了解一下。

bfc:“block format context” ,簡稱,塊級格式化上下文。

設置bfc后,特定的盒子會遵循另一套語法規則。簡單的說,就是bfc能改變盒子的語法規則。

/* 如何觸發一個盒子的bfc */

方法一,position:absolute; (設置為絕對定位)

方法二,display:inline-block; (設置為行級塊元素)

方法三,float:left/right; (設置為浮動元素)

方法四,overflow:hidden; (設置為溢出部分隱藏)

二、margin 合并問題:

沒設置margin之前,

給demo1元素加上margin-bottom,看起來好像沒問題,

給demo2元素再加上margin-top,發現兩個元素之間的間隔沒變化,這就是margin 合并的問題了,

那這個問題又怎么彌補呢?是不是和margin一樣也能用bfc彌補呢?

對的,彌補margin合并問題,采用bfc彌補。

bfc前面說過了,這里直接演示了,

1、在demo2父級加上bfc:

加上 position:absolute; (設置為絕對定位)

加上 display:inline-block; (設置為行級塊元素)

加上 float:left/right; (設置為浮動元素)

加上 overflow:hidden; (設置為溢出部分隱藏)

2、在demo1父級加上bfc:

加上 position:absolute; (設置為絕對定位)

加上 display:inline-block; (設置為行級塊元素)

加上 float:left/right; (設置為浮動元素)

加上 overflow:hidden; (設置為溢出部分隱藏)

演示完,發現在demo1父級加上bfc,好像并不是所有能觸發bfc的都能彌補margin合并問題。

總的來說,觸發bfc是可以彌補margin合并問題,但雖然彌補了margin合并問題,觸發bfc之后卻會引發更多問題。

因此,margin合并問題,一般不需要去彌補解決。

總結

以上是生活随笔為你收集整理的bfc是什么_关于margin的两个经典bug,以及bfc简述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。