1pxの境界線を持つ複数のコンテナがある場合、隣り合うすべてのコンテナは2pxの境界線を生成します。だから、あなたはいつも例えばあなたのことを設定することを取り除くために。 border-right: none;
と最後の子にborder-right: 1px;
を追加すると、すべてのコンテナにすべての面で1ピクセルの境界線が作成されます。並んでいる要素の周りの二重の境界線を防止する
フレックスボックス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