CSSページで次の2つの表記を確認しましたが、同じように機能しているようですが、違いはありますか?
.ClassName a:hover
と:
a.ClassName:hover
はい、それらの間には違いがあります。
.ClassName a:hover
。を含む要素内にあるホバーされたアンカーを指しますclass="ClassName"
。
a.ClassName:hover
ただし、は、を持っている ホバーアンカーを指しますclass="ClassName"
。
W3.orgにはCSSセレクターに関する多くの情報があります。
.ClassName a:hover //this applies to all child `a` elements of `ClassName`
<div class="ClassName">
<a>link</a>
</div>
a.ClassName:hover //this applies to the `a` elements that have `ClassName` class
<div>
<a class="ClassName">link</a>
</div>
a.ClassName:hover
<a class="ClassName" href="#">fff</a>
.ClassName a:hover
<div class="ClassName">
<a href="#">fff</a>
</div>
最初のアプローチは<a>
、クラスを持つ要素に対してのみ機能しますClassName
。
2番目のアプローチでは、クラスは任意の要素に使用でき、その要素に<a>
ホバープロパティが含まれている場合は処理されます。
はい、絶対に違いがあります。
ClassName
ます。ClassName
ます。.ClassName a:hoverはanchor
内部を意味し.ClassName
ます。これは
HTML
<div class="ClassName ">
<a></a>
</div>
また
a.ClassName:hoverは。を意味.ClassName
しanchor
ます。これは
HTML
<a vlass="ClassName"></a>
hover
1つ目は、適用された要素内のリンクのプロパティを変更しますClassName
。
2つ目は、閉じているコンテナやタグに関係なく、適用されたものですa
。ClassName