Kā uzrakstīt :hover
un :visited
nosacījumu a:before
?
Es mēģinu a:before:hover
, bet tas nedarbojas.
Tas ir atkarīgs no tā, ko jūs patiesībā mēģināt darīt.
Ja jūs vienkārši vēlaties piemērot stilu :before
pseidoelementam, kad a
elements atbilst pseidoklasei, jums tā vietā jāraksta a:hover:before
vai a:visited:before
. Ievērojiet, ka pseidoelements ir pēc pseidoklases (un faktiski visa selektora beigās). Ievērojiet arī to, ka tās ir divas dažādas lietas; abu saukšana par "pseidoselektoriem" jūs mulsinās, tiklīdz saskarsieties ar tādām sintakses problēmām kā šī.
Ja rakstāt CSS3, varat apzīmēt pseidoelementu ar dubultiem divpēdiņiem, lai šī atšķirība būtu skaidrāka. Tādējādi a:hover::before
un a:visited::before
. Bet, ja izstrādājat lietojumprogrammu vecajām pārlūkprogrammām, piemēram, IE8 un vecākām, tad varat iztikt bez problēmām, izmantojot vienu divstūri.
Šī īpašā pseidoklases un pseidoelementu secība ir norādīta specifikācijā:
Viens pseidoelements var tikt pievienots pēdējai vienkāršo selektoru secībai selektorā.
Vienkāršo selektoru sekvence ir vienkāršo selektoru virkne, kas nav atdalīta ar kombinatoru. Tā vienmēr sākas ar tipa selektoru vai universālo selektoru. Sekvencē nav atļauts izmantot nevienu citu tipa selektoru vai universālo selektoru.
vienkāršs selektors ir vai nu tipa selektors, universālais selektors, atribūtu selektors, klases selektors, ID selektors, vai pseidoklase.
Pseidoklase ir vienkāršs selektors. Tomēr pseidoelements tāds nav, lai gan tas atgādina vienkāršu selektoru.
Tomēr lietotāja darbības pseidoklasēm, piemēram, :hover
1, ja jums ir nepieciešams, lai šis efekts tiktu piemērots tikai tad, kad lietotājs mijiedarbojas ar pašu pseidoelementu, nevis a
elementu, tad tas nav iespējams citādi, kā tikai izmantojot kādu neskaidru no izkārtojuma atkarīgu risinājumu. No teksta izriet, ka standarta CSS pseidoelementiem pašlaik nevar būt pseidoklases. Tādā gadījumā :hover
ir jāpiemēro nevis pseidoelementam, bet gan faktiskajam atvasinātajam elementam.
1 Protams, tas neattiecas uz saitei paredzētajām pseidoklasēm, piemēram, :visited
, kā tas ir jautājumā, jo pseidoelementi nav saites.
Ierakstiet a:hover::before
, nevis a::before:hover
: [piemērs](
Lai mainītu izvēlnes saites's tekstu, kad peles kursors tiek pārvietots. (Dažādas valodas teksts, ja uz tā uzskaras peles kursors) šeit ir
[jsfiddle piemērs][1]
html:
<a align="center" href="#"><span>kannada</span></a>
css:
span {
font-size:12px;
}
a {
color:green;
}
a:hover span {
display:none;
}
a:hover:before {
color:red;
font-size:24px;
content:"ಕನ್ನಡ";
}