2017-07-25 2 views
1

ラップされていないフレックスアイテム(アイテムの乱数)をターゲットにしたいので、各ローの最後のラップされていないアイテムまたは各ローの最初のラップアイテムからボーダーを削除できます。私は、このケースでは右の境界線が現れないように、「last-flexitem-in-row」のようなCSS疑似セレクタを使用したいと思います。私はJSを使用してこれを行うことができることを知っていますが、このようにしなければならないためには、最適ではなく、非常に重いようです。ブラウザのサイズ変更中にコンテナの幅が縮小すると、計算量が狂っているとします。フレックスボックスのターゲットラップアイテム

アイデア?あなたの特定のレイアウトに

.flexcontainer { 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
} 
 

 
.flexcontainer li { 
 
    border-right: 3px solid #c00; 
 
    list-style: none; 
 
    flex: 0 0 100px; 
 
    padding: 10px; 
 
} 
 

 
.flexcontainer li:last-item-in-row { 
 
    border-right: none; 
 
}
<ul class="flexcontainer"> 
 
    <li>Item One</li> 
 
    <li>Item Two</li> 
 
    <li>Item Three</li> 
 
    <li>Item Four</li> 
 
    <li>Item Five</li> 
 
    <li>Item Six</li> 
 
    <li>Item Seven</li> 
 
    <li>Item Eight</li> 
 
    <li>Item Nine</li> 
 
</ul>

https://jsfiddle.net/sx9vhs11/

+0

フレキシボックスやCSS、隠されたオーバーフローを使用してそれらを隠すために、コンテナにちょっとしたトリックを設定しています折り返しまたは行/列の位置を指定します。行や列の項目数を知っているなら、 'nth-child()'を使うことができます。 –

+0

関連:https://stackoverflow.com/q/42176419/3597276 –

+0

ここでflexboxを使用したり、 ':last-item-in-row'のようなファンシーセレクタを適用することはできません。だからここのJSがそれほど大きくないなら、それを使うことを検討しますか? –

答えて

1

、すべての左の境界線が並んでいます。

左の項目の枠線を変更しました(あなたの提案通り)。

そして私は、一般的には、に基づいてアイテムを標的とするための任意の方法を提供していない

.flexcontainer { 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
    border-left: solid 40px transparent; 
 
    padding-left: 0px; 
 
    overflow: hidden; 
 
} 
 

 
.flexcontainer li { 
 
    border-left: 3px solid #c00; 
 
    list-style: none; 
 
    flex: 0 0 100px; 
 
    padding: 10px; 
 
    margin-left: -5px; 
 
    margin-right: 5px; 
 
} 
 

 
.flexcontainer li:last-item-in-row { 
 
    border-right: none; 
 
}
<ul class="flexcontainer"> 
 
    <li>Item One</li> 
 
    <li>Item Two</li> 
 
    <li>Item Three</li> 
 
    <li>Item Four</li> 
 
    <li>Item Five</li> 
 
    <li>Item Six</li> 
 
    <li>Item Seven</li> 
 
    <li>Item Eight</li> 
 
    <li>Item Nine</li> 
 
</ul>

+0

上記のGeniusソリューションでは、項目をjustify-content:centerに変更できるようにコードを変更すると、提案されたソリューションが破られます。 –

関連する問題