HTML5から「独自データ属性」または「カスタムデータ属性」と呼ばれる新しい仕様が追加されました。
この機能により、任意のhtmlの要素に接頭語「data-」で始まる属性値を付与することで、プライベートな値を設定できるようになりました。
一例として以下のようなHTMLが記述できるようになっています。
<ul> <li data-list="first">第1のリスト</li> <li data-list="second">第2のリスト</li> <li data-list="third">第3のリスト</li> </ul>
ここでは仮に「data-list」という独自データ属性を付与し、それぞれのリストに個別の値を設定しています。
さて。上記のHTMLコードにCSSを指定する場合、通常であれば「li:nth-child(1)」などとしてスタイルを設定していくことになりますが、今回は独自データ属性に直接CSSを効かせる方法を紹介します。
先のHTMLのリストに順にCSSを充てる場合、以下のように記述します。
ul li[data-list="first"] {color:#c00;} ul li[data-list="second"] {color:#0c0;} ul li[data-list="third"] {color:#00c;}
実際にCSSを指定したサンプルサイトも用意したので、合わせてご覧ください。