2016-07-11 17 views
2

テーブルを使用するときは、n番目の子セレクタ(https://stackoverflow.com/a/3084318/1385857)を使用してテーブル行の色を簡単に変更できます。フレックスボックスレイアウトを使用する場合、これに匹敵する方法がありますか?私は(https://philipwalton.github.io/solved-by-flexbox/demos/grids/から)下記た:CSSフレックスボックスの交互の行の色

<div class="Grid"> 
    <div class="Grid-cell"></div> 
    [more divs] 
    <div class="Grid-cell"></div> 
</div> 

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

.Grid-cell 
{ 
    flex: 1; 
} 

は、このシナリオでは、行の色を交互にすることが可能です。明確にするために、実際の行はなく、折り返しによってフレックスボックスによって作成された仮想行だけがあります。

+0

ありません...ラッピングを検出することができるもの何らCSSはありません。あなたはJavascriptが必要です....またはメディアクエリ –

+0

また、 '.Grid:nth-​​child(even)'や '.Grid:nth-​​child(odd)'のようなものを使用することもできます。 – Mani

+0

重複:[Zebraラッピング項目を持つフレックスボックステーブルをストライピングする](http://stackoverflow.com/q/35355253/3597276) –

答えて

-2

nth-child(2n + 1、偶数、奇数)など、同じ技術を使用することができます。

要素の表示はここで干渉しません。

.Grid { 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
} 
 
.Grid-row { 
 
    flex: 1; 
 
} 
 
.Grid-cell:nth-child(2n+1) { 
 
    background: pink; 
 
}
<div class="Grid"> 
 
    <div class="Grid-row"> 
 
    <div class="Grid-cell">Grid-cell 1</div> 
 
    <div class="Grid-cell">Grid-cell 2</div> 
 
    <div class="Grid-cell">Grid-cell 3</div> 
 
    <div class="Grid-cell">Grid-cell 4</div> 
 
    <div class="Grid-cell">Grid-cell 5</div> 
 
    <div class="Grid-cell">Grid-cell 6</div> 
 
    <div class="Grid-cell">Grid-cell 7</div> 
 
    </div> 
 
    <div class="Grid-row"> 
 
    <div class="Grid-cell">Grid-cell 1</div> 
 
    <div class="Grid-cell">Grid-cell 2</div> 
 
    <div class="Grid-cell">Grid-cell 3</div> 
 
    <div class="Grid-cell">Grid-cell 4</div> 
 
    <div class="Grid-cell">Grid-cell 5</div> 
 
    <div class="Grid-cell">Grid-cell 6</div> 
 
    <div class="Grid-cell">Grid-cell 7</div> 
 
    </div> 
 
</div>

+1

あなたは**行**を交互に使用していません。div325だけです。 –

+0

はい、 Manishはdivとflexボックスを使用してテーブルを作成したい。私は最初の答えの例を編集し、視覚的に交互に「行」を与える例を編集します。しかし、多分私はここで何かを逃した。 –

+0

いいえ、彼は**実際の**行を使用したくないです...それがポイントです。彼は、ラッピングによって作成された*バーチャル*行が異なる色になることを望んでいます...あなたはCSSセレクターでそれを行うことはできません。 –

関連する問題