I :dir()
pseudoklassen i CSS kan du velge elementer basert på språkretningen, som bestemt i HTML-markeringen. Det er egentlig bare to retninger som språket kan flyte i et dokument, som er fra venstre til høyre og høyre mot venstre. Tenk på dette som en måte å utforme elementer som er preget av forskjellige språkretning.
.item:dir(rtl) ( background: red; color: #fff; )
Pseudoklassen godtar bare en enkelt verdi og vil returnere null hvis mer enn en verdi er angitt.
Se pennen: dir pseudo-selector av Geoff Graham (@geoffgraham) på CodePen.
:dir(rtl)
vs. (dir=rtl)
Vi kan også velge et element basert på språkretningen ved å lage en søkeordvelger:
.item(dir=rtl) ( background: red; color: #fff; )
Det fungerer faktisk, men er forskjellig fra :dir(rtl)
ved at det bare velger et element etter det som er strengt definert i HTML-markeringen. På baksiden :dir(rtl)
vil snuse ut brukeragentens språkinnstillinger og velge elementet uten å være eksplisitt oppgitt i HTML-en.
Dette er en stor sak fordi elementer som ikke eksplisitt angir språkretningen, vil arve dir
attributtet til sin nærmeste forfader som inneholder en. Det kan føre til et scenario der bruk (dir=rtl)
velger flere elementer enn du har tenkt.
Nettleserstøtte
Disse nettleserstøttedataene er fra Caniuse, som har flere detaljer. Et tall indikerer at nettleseren støtter funksjonen i den versjonen og oppover.
Desktop
Chrome | Firefox | DVS | Kant | Safari |
---|---|---|---|---|
Nei | 17 * | Nei | Nei | Nei |
Mobil / nettbrett
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
Nei | 85 | Nei | Nei |
Mer informasjon
- Selectors nivå 4 spesifikasjon
- Kromutgave # 576815
- WebKit Bug # 64861
- Mozilla-dokumentasjon
- Microsoft Edge Feature Request
- Chromium-plattformsstatus
- PostCSS
:dir()
polyfill