如果您有多個帶有1px邊框的容器,則彼此相鄰的所有容器都會生成2px邊框。所以爲了擺脫這一點,你總是設置border-right: none;
,然後將border-right: 1px;
添加到最後一個子元素,以使所有容器在所有邊都具有1px邊框。防止並排元素周圍的雙重邊框
但是,如果您使用flexbox flex-basis
規則將容器拆分爲下一行,則會破壞整個border-right
想法,該行中的最後一個容器始終保留爲無邊框。
例如在這個例子中,我有5個集裝箱,但我想4每行,當它分解成新的生產線,可以看到border-right
問題:
.wrapper {
display: flex;
flex-wrap: wrap;
width: 400px;
}
.container {
flex-basis: 20%;
border: 1px solid #000;
border-right: none;
margin-bottom: 1px;
min-height: 100px;
width: 100px;
display: flex;
justify-content: center;
align-items: center;
}
.container:last-child {
border-right: 1px solid #000;
}
<div class="wrapper">
<div class="container">1</div>
<div class="container">2</div>
<div class="container">3</div>
<div class="container">4</div>
<div class="container">5</div>
</div>
https://jsfiddle.net/45kngj9p/
的'.container:第n個孩子(4)'方法是一種有效的方法,但它取決於你是否要在生產線中的線或不同數量的塊總是4塊在不同的屏幕上。即使您需要,您也可以使用與媒體查詢相同的方法。 –
是否可以接受js解決方案? – jfeferman