<ul class="lista"> <li class="ex2"><a title="style" href="#">ダミーリンク01</a></li> <li class="ex2"><a title=" おすすめ " href="#">ダミーリンク02</a></li> <li class="ex2"><a title="おすすめ 注目" href="#">ダミーリンク03</a></li> <li class="ex2"><a title="おすすめ 注目 NEW" href="#">ダミーリンク04</a></li> <li class="ex2"><a title="おすすめ 注目 NEW ★★★" href="#">ダミーリンク05</a></li> <li class="ex2"><a title="NEW" href="#">ダミーリンク06</a></li> <li class="ex2"><a title="NEW-css-javascript" href="#">ダミーリンク07</a></li> </ul>
(4)パート1の(2)と同じ、[属性名="属性値"]の形の属性セレクタでは、属性名と属性値が一致した要素をスタイル適用の対象にします。 この例( a[title="css"])では、属性名が「title」で属性値が「css」のa要素にスタイル(オレンジ色の「【css】」を後に付加)を適用します。
ul.lista li.ex2 a[title="style"]:after { content:"【style】"; color:orange; }
(5)属性の値が半角スペース区切りの場合、値を個別に取り出して指定することができます。[属性名~="属性値"]の形の属性セレクタを使うことで、半角スペース区切りの値を個別に取り出します。半角スペースのない単独の値も同様になります。また属性値が"★★★"のみや、"★★★"の前後に複数の半角スペースが入ったものも同様に選択されます。
ul.lista li.ex2 a[title~="★★★"]:after { content:"【★★★】属性名とスペス区切りの属性値が一致"; color:blue; }
(6)上と同じくハイフン区切りで、属性値Aがあり属性値Bが無いという場合、[属性名~="属性値A"]:not([属性名~="属性値B"])の形の属性セレクタで指定できます。単に属性値の"おすすめ"があるものと指定すると、上の(5)で指定したスタイルを上書きしてしまいます。また属性値が"おすすめ"のみや、"おすすめ"の前後に複数の半角スペースが入ったものも同様に選択されます。
ul.lista li.ex2 a[title~="おすすめ"]:not([title~="★★★"]):after { content:" スペース区切りで【おすすめ】があり【★★★】が無し"; color:green; }
(7)属性の値がハイフン区切りの場合、値を個別に取り出して指定することができます。[属性名|="属性値"]の形の属性セレクタを使うことで、ハイフン区切りの値(後にハイフンが入った状態の)を個別に取り出します。また属性値が"NEW"のみや、"NEW"の後にハイフンが入ったものも同様に選択されます。
ul.lista li.ex2 a[title|="NEW"]:after { content:"【NEW】属性名とハイフン区切りの属性値が一致"; color:red; }