html - Apply style only to anchors defining links -
i have this
<a href="http://www.lipsum.com/" target="_blank"> lipsum </a> <h1> <a href="#first"> chapter 1 </a> </h1> <h1> <a href="#second"> chapter 2 </a> </h1> <h2> <a name="first"> first part</a> </h2> <h2> <a name="second"> sec part </a> </h2> plus
a:hover {color: orange} how can set <h2> tags (last 2) won't alter color when hover on them? because still need anchor tags there.
one alternative excluding <h2> parent elements :not() pseudo-class:
class="snippet-code-css lang-css prettyprint-override">:not(h2) > a:hover { color: orange; } class="snippet-code-html lang-html prettyprint-override"><a href="http://www.lipsum.com/" target="_blank"> lipsum </a> <h1> <a href="#first"> chapter 1 </a> </h1> <h1> <a href="#second"> chapter 2 </a> </h1> <h2> <a name="first"> first part</a> </h2> <h2> <a name="second"> sec part </a> </h2>
where > direct descendant (child) combinator.
8.2. kid combinators
a kid combinator describes childhood relationship between 2 elements. kid combinator made of "greater-than sign" (u+003e, >) character , separates 2 sequences of simple selectors.
it's worth noting :not() pseudo-class is supported in ie 9 , newer.
name attribute on <a> you should note name attribute is obsolete in html5. instead utilize id element in order make bookmark.
hence can rid of redundant <a> elements caused trouble.
class="snippet-code-css lang-css prettyprint-override">a:hover { color: orange; } class="snippet-code-html lang-html prettyprint-override"><a href="http://www.lipsum.com/" target="_blank"> lipsum </a> <h1> <a href="#first"> chapter 1 </a> </h1> <h1> <a href="#second"> chapter 2 </a> </h1> <h2 id="first">first part</h2> <h2 id="second">a sec part</h2>
alternatively, if reason stick current markup, legacy web browsers such ie 8 , older, either override declaration:
h2 > a:hover { color: blue; } or target <a> elements having href; i.e. select links.
class="snippet-code-css lang-css prettyprint-override">a[href]:hover { color: orange; } class="snippet-code-html lang-html prettyprint-override"><a href="http://www.lipsum.com/" target="_blank"> lipsum </a> <h1> <a href="#first"> chapter 1 </a> </h1> <h1> <a href="#second"> chapter 2 </a> </h1> <h2> <a name="first"> first part</a> </h2> <h2> <a name="second"> sec part </a> </h2>
html css css-selectors anchor
No comments:
Post a Comment