css 阻斷合併 及 其餘影響

margin 的不正交

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
clipboard.pngflex


解決辦法 一、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>

瀏覽器中是這個樣的:
clipboard.pngcode

<!-- 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

clipboard.png


其餘影響

display 會影響 ul li 的小圓點
position:absolute 會影響 display:inline
position:fixed 會影響 transform
float 會影響 inlineblog

相關文章
相關標籤/搜索