浪人のサムライ

TOP

指定した箇所にスタイルを効かせる

例えば、表で交互に色を付けたい場合、クラスを付けないといけません。少しならいいでしょう。しかし、多ければ多いほど、ミスに繋がります。そのときは、疑似クラスを使えば簡単です。

  • 1番目
  • 2番目
  • 3番目
  • 4番目
  • 5番目

偶数に色を付けます。HTMLはこんな感じです。

HTML



<ul class="even">
<li>1番目</li>
<li>2番目</li>
<li>3番目</li>
<li>4番目</li>
<li>5番目</li>
</ul>


リスト表示(ul)です。ここでは、それを使っています。簡単なHTMLですね。evenというクラス名を付けていますが、必須ではありません。この記事の場合、他の展開もあるので、クラス名を付けています。書く状況に応じて、クラス名を付けるかどうか、決めればいいですね。

CSS


.even li:nth-child(even) {
  background: red;
}

偶数(even)で偶数のところに色を付けるようにしています。少しややこしいので、SCSSがいいですね。

SCSS


.even{

li{
&:nth-child(even){
background: red;
}
}
}

SCSSの場合、最終的にCSSにコンパイルする必要があります。近々、親戚にHTMLコーディングを教えるのですが、最初からSCSSを教えるつもりです。時代はもう、SCSSだ(多分笑)。

あとは、ホームページ制作でよく使う、テクニックを伝えるつもりです。

奇数にする

  • 1番目
  • 2番目
  • 3番目
  • 4番目
  • 5番目

奇数にします。奇数の箇所に色が塗られています。

HTML


<ul class="odd">
<li>1番目</li>
<li>2番目</li>
<li>3番目</li>
<li>4番目</li>
<li>5番目</li>
</ul>

CSS


.odd li:nth-child(odd) {
  background: aqua;
}

SCSS


.odd{
li{
&:nth-child(odd){
background: aqua;
}
}
}

奇数(odd)にします。evenは偶数、oddは奇数です。これを覚えれば問題ありません。ちなみに、スタイルを効かす箇所にそれらを書きます。親要素ではありません。

コードを見て頂くとわかるように、ulにはnth-childのスタイルを効かせていません。割と混乱するタイミングだと思うので、そこを注意して下さい。

指定した箇所にCSSを効かす

  • 1番目
  • 2番目
  • 3番目
  • 4番目
  • 5番目

残る1つは、指定した箇所にスタイル効かす方法です。ここでは3番目にスタイルを効かせます。

HTML


<ul class="nam">
<li>1番目</li>
<li>2番目</li>
<li>3番目</li>
<li>4番目</li>
<li>5番目</li>
</ul>

CSS


.nam li:nth-child(3) {
  background: green;
}

SCSS


.nam{
li{
&:nth-child(3){
background: green;
}
}
}

nth-childのあとに番号を書きます。これで指定した箇所にスタイルを効かすことができます。理屈が分かれば簡単です。他にもありますが、最低限、おさえておけばいいでしょう。

交互に色を塗る際、クラスで仕分けはスマートではありません。途中で必ず、ミスします。数個、例えば、5個だけなら、それぞれクラスを付けてもいいでしょう。

でも、追加となったら、手間が増えます。nth-childが便利です。

さいごに

割と簡単ですね。最近、これを使ったことがあって、知識があやふやだったので記事にしてみました。書いて仕組みがスッキリしました。

他にもありますが、僕がホームページ制作をする上で、実践的に使ったものを紹介しています。

知りたい方は下のページを開いてください。当サイトのページになります。

チラッと触れましたが、時代はSCSSだと思うので、少しずつ学習されることをおすすめします。

最初は戸惑いますが、慣れたらCSSを書くより簡単です。

楽しいですよ。vscodeであれば、プラグインでコンパイルできますので、おすすめです。

おしまい!