Questo è uno degli substring-matching attribute selectors disponibile in CSS3. Corrisponde ai collegamenti con gli attributi href
i cui valori iniziano con la stringa specificata.
Per illustrare, prenderemo il vostro esempio CSS, e aggiungere alcuni valori di default:
a {
background: none; padding: 0 1em;
}
a[href^="http:"] {
background: url(img/keys.gif) no-repeat right top;
}
a[href^="http://mysite.com"], a[href^="http://www.mysite.com"] {
background-image: none; padding-right:0;
}
E lo stile il seguente codice HTML con esso. Gli stili di output sono riepilogati nei commenti:
<ul>
<!-- [1] No background, 1em left and right padding -->
<li><a href="/index.php">My site's page</a></li>
<!-- [2] Background, 1em left and right padding -->
<li><a href="http://example.com">External link</a></li>
<!-- [3] No background, no right padding -->
<li><a href="http://mysite.com">My site's base URL without www</a></li>
<!-- [4] No background, no right padding -->
<li><a href="http://www.mysite.com">My site's base URL with www</a></li>
<!-- [5] No background, no right padding -->
<li><a href="http://mysite.com/page.php">A page in my site with base URL</a></li>
</ul>
Cosa sta succedendo?
Selezionato da a
solo
attributo di questo elemento href="/index.php"
non inizia con http:
o gli altri valori.
Non c'è sfondo, ma c'è il riempimento sinistro e destro.
Selezionato da a[href^="http:"]
solo
attributo di questo elemento href="http://example.com"
inizia con http:
ma non inizia con http://mysite.com
.
C'è un padding sinistro e uno destro e un'immagine di sfondo.
Selezionato da attributo a[href^="http:"]
e a[href^="http://mysite.com"]
di questo elemento href="http://mysite.com"
inizia con http:
ed ulteriori inizia con http://mysite.com
.
Poiché il secondo selettore prevale sul primo selettore, l'immagine di sfondo e il riempimento destro vengono rimossi.
selezionati da a[href^="http:"]
e a[href^="http://www.mysite.com"]
attributo di questo elemento href="http://www.mysite.com"
inizia con http:
ed ulteriori inizia con http://www.mysite.com
(notare il www).
Poiché il secondo selettore prevale sul primo selettore, l'immagine di sfondo e il riempimento destro vengono rimossi.
Selezionato da attributo a[href^="http:"]
e a[href^="http://mysite.com"]
di questo elemento inizia con http:
ed ulteriori inizia con http://mysite.com
.
Si noti che, rispetto al terzo collegamento, l'attributo in questo contiene più di un semplice URL di base; tuttavia, lo ^=
indica che il valore dell'attributo deve solo iniziare con URL di base del tuo sito, anziché =
che significherebbe "selezionare i collegamenti che puntano solo a http://mysite.com
". Pertanto, questo link è abbinato al secondo selettore.
Poiché il secondo selettore prevale sul primo selettore, l'immagine di sfondo e il riempimento destro vengono rimossi.
devono conoscere informazioni qui: http://edgar.tumblr.com/post/1483797785/the-30-css-selectors-you-must-know-memorize – techfoobar
Vedi anche https://stackoverflow.com/q/7366323 (il 'thread duplicato'). – SamGoody