先看兩個bug
第乙個bug:margin塌陷。
*
margin-top: 100px;
margin-left: 100px;
width: 100px;
height: 100px;
background-color: orange;
}.content
可以看到第一步增加的**子元素移動了,第二步增加的**沒有讓子元素移動,這個bug叫margin塌陷(子集相對於父級沒有頂棚一樣)。
怎麼解決這個bug?
方案一:(不建議使用,但能解決效果)父級增加乙個頂棚,加乙個視覺化的border-top。
margin-top: 100px;
margin-left: 100px;
width: 100px;
height: 100px;
background-color: orange;
border-top: 1px solid red;/*父級增加此行***/}
方案二:使用bfc。
bfc(block format context)塊級格式化上下文。每個盒子的渲染規則是一定的,設定成bfc後改變了盒子的渲染規則。
改變的規則後就解決了margin塌陷。
如何觸發乙個盒子的bfc?下面是幾種常用的方法。
position:absolute
float:left/right
display:inline-block
overflow:hidden 溢位父元素部分隱藏。
下面就是觸發父級bfc解決margin塌陷。
margin-top: 100px;
margin-left: 100px;
width: 100px;
height: 100px;
background-color: orange;
/*overflow: hidden;*/
/*display: inline-block;*/
/*float: left;*/
/*position: absolute;*/}
幾種方法中用哪乙個比較好?首選float方法。
第二個bug:margin合併。
updown
*
.up.down
可以看到增加的**並沒有增加上下兩個元素的間距,而是公用了一段距離。
怎麼解決這個bug?
方法一:(不建議使用,不要因為改bug增加結構。但是能解決問題)在html結構中給up或者down增加父級結構並觸發bfc。
down
overflow: hidden;}
方法二:不解決此問題。
上下兩個兄弟元素垂直間距設定在乙個屬性(margin-bottom)下,為什麼還要分開設定呢?比如上下兩個元素間距100px,
設定上乙個元素margin-bottom:100px即可,沒有必要還要margin-bottom50px, margin-top50px 分開設定,雖然有bug但能用數學
方法解決,開發過程能接受。
BFC和CSS的兩個BUG 20181223
當為一對普通流中的父子盒子中的子盒子設定margin top時,如果父盒沒有設定乙個border top,且雙方的margin top都為正的時候,那麼就會存在有乙個高度塌陷的問題。具體的表現是父盒和子盒共享margin top,如果他們同時具有margin top的時候,以值最大的為準。該問題的解...
最近遇到的兩個BUG
最近遇到兩個bug 第一 我要用jdbc連線客戶的oracle資料庫客戶版本為11g 由於我的測試錯誤我覺得使用的class12這個包版本有點老,好像查不出oracle11g的資料 經證實是我錯了 所以我換了oracle11g的ojdbc6 g驅動包。sql select instance name...
React兩個bug踩坑
import react from react 複製 console報錯render找不到,這是因為react已經把reactdom分離出來,這樣引用會出錯,改為 import react from react import reactdom from react dom 複製 後正常 consol...