margin實用時會產生合併的現象
如下屬性會阻斷 margin 合併
border
display: table
display: flexcss
以上內容爲結果 詳解在下方瀏覽器
/* CSS */ .box{ border:1px solid red; height: 100px; margin: 10px; /* 注意:這裏是10像素哦! */ }
<!-- HTML --> <div class="box"></div> <div class="box"></div> <div class="box"></div>
瀏覽器中是這個樣的:
按理數 margin 應該是 div 上下之間的間距應該爲 20px
flex
解決辦法 一、spa
<!-- HTML --> <!-- css不變 --> <div class="box"></div> <div style="border: 1px solid blue"></div> <!-- 新加 --> <div class="box"></div> <div style="border: 0.1px solid blue"></div> <!-- 新加 --> <div class="box"></div> <div class="box"></div>
瀏覽器中是這個樣的:
code
<!-- HTML --> <!-- css不變 --> <!-- HTML --> <div class="box"></div> <div style="display: table"></div> <div class="box"></div> <div style="display: flex"></div> <div class="box"></div> <div class="box"></div> <!-- display:block / inline 不會阻斷合併 只有table flex 能夠 -->
瀏覽器中是這個樣的:orm
display 會影響 ul li 的小圓點
position:absolute 會影響 display:inline
position:fixed 會影響 transform
float 會影響 inlineblog