2017-04-18 190 views
0

2個元素在顯示容器內:塊邊緣摺疊,但顯示:flex不工作!當一個人使用display: flex exampleflexbox邊緣在兒童之間摺疊

.wrapper { 
    width: 50%; 
    margin: 0 auto; 
} 
.container { 
    display: flex; 
    // display: block; 
    flex-flow: column nowrap; 
    background-color: green; 
} 
h1 { 
    background-color: #777; 
    margin-bottom: 20px; 
} 
p { 
    background-color: #ccc; 
    margin-top: 15px; 
} 
+0

也許我說錯。保證金最低點應該留下。 .container必須有顯示:flex不變。設置顯示:彎曲在p和h1沒有給...並且改變flex-wrap沒什麼。 – Petr

+0

您能否提供您想要的圖像或繪圖? 你的解釋和評論不是很清楚 – k185

回答

0

頁邊距不垮。如果您想了解更多關於通用崩潰邊緣,這裏是一對夫婦的文章與啓動:


作爲一種變通方法,以使其行爲類似於display: block,你可以做這樣的事情,在那裏你增加一個flex類到containerdisplay: flex,只能定位到h1p

如果你不能說做手工,腳本可以做到這一點爲你工作。

.wrapper { 
 
    width: 50%; 
 
    margin: 0 auto; 
 
} 
 
.container { 
 
    display: flex; 
 
    /* display: block; */ 
 
    flex-flow: column nowrap; 
 
    background-color: green; 
 
} 
 
h1 { 
 
    background-color: #777; 
 
    margin-bottom: 20px; 
 
} 
 
p { 
 
    background-color: #ccc; 
 
    margin-top: 15px; 
 
} 
 

 

 
/* custom classes to remove margin */ 
 
.container.flex h1:first-child { 
 
    margin-top: 0; 
 
} 
 
.container.flex p:last-child { 
 
    margin: 0; 
 
}
<div class="wrapper"> 
 
    <div class="container flex"> 
 
    <h1>header h1</h1> 
 
    <p>plain text</p> 
 
    </div> 
 
</div>

+0

這就是我無法刪除margin-top:15px; margin-bottom:20px;這個例子是一個擴展到flexbox的大型項目的一部分。也就是說,我永遠無法用flexbox獲得快速崩潰的邊緣? – Petr

+0

@Petr不,您無法通過flexbox獲得保證金摺疊。那麼,爲什麼你不能刪除保證金? – LGSon

+0

@Petr更新了我的回答,提供了一些更多的建議 – LGSon