[解決済み】CSSでN個目の要素を全て選択する
質問
ある要素の集合の中で、例えば4番目の要素まで選択することは可能ですか?
例:16個の
<div>
要素... みたいな書き方ができる。
div:nth-child(4),
div:nth-child(8),
div:nth-child(12),
div:nth-child(16)
は、もっと良い方法があるのでしょうか?
どのように解決するのですか?
その名の通り
:nth-child()
を使用して算術式を構築することができます。
n
を定数として使用することができます。加算を行うことができる(
+
)、減算(
-
) と
係数乗算
(
an
ここで
a
は整数(正の数、負の数、0を含む)です。
上のセレクタリストを書き直すとこうなる。
div:nth-child(4n)
これらの算術式がどのように機能するかについての説明は、私の回答 この質問 と同様に スペック .
なお、この回答では、同じ親要素内の子要素はすべて同じ要素タイプであると仮定しています。
div
. のような異なるタイプの要素がある場合、その要素を削除する必要があります。
h1
または
p
を使用する必要があります。
:nth-of-type()
の代わりに
:nth-child()
を数えるだけであることを確認します。
div
要素で構成されます。
<body>
<h1></h1>
<div>1</div> <div>2</div>
<div>3</div> <div>4</div>
<h2></h2>
<div>5</div> <div>6</div>
<div>7</div> <div>8</div>
<h2></h2>
<div>9</div> <div>10</div>
<div>11</div> <div>12</div>
<h2></h2>
<div>13</div> <div>14</div>
<div>15</div> <div>16</div>
</body>
それ以外のもの(クラス、属性、またはこれらの組み合わせ)については、任意のセレクタに一致するn番目の子を探す場合、純粋なCSSセレクタではこれを行うことができません。例えば この質問 .
ちなみに、4nと4n+4に関しては、それほど大きな違いはありません。
:nth-child()
. を使用する場合
n
これは、各セレクタがマッチする内容です。
:nth-child(4n)
4(0) = 0
4(1) = 4
4(2) = 8
4(3) = 12
4(4) = 16
...
:nth-child(4n+4)
4(0) + 4 = 0 + 4 = 4
4(1) + 4 = 4 + 4 = 8
4(2) + 4 = 8 + 4 = 12
4(3) + 4 = 12 + 4 = 16
4(4) + 4 = 16 + 4 = 20
...
ご覧の通り、どちらのセレクタも上記と同じ要素にマッチします。この場合、違いはありません。
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] CSS - div から画面の幅いっぱいまでオーバーフローさせる方法
-
[解決済み] 要素を水平方向にセンタリングする方法
-
[解決済み] CSSの親セレクタはありますか?
-
[解決済み] CSSでcellpaddingとcellspacingを設定する?
-
[解決済み] CSSでテキストや画像の背景を透明にするには?
-
[解決済み] 最初の要素にクラスを指定するCSSセレクタ
-
[解決済み] 特定のクラスや属性を持たない要素を選択するCSSセレクタは書けますか?
-
[解決済み] 2つのクラスを持つ要素に適用するCSSセレクタ
-
[解決済み】HTML5入力のプレースホルダの色をCSSで変更する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン