:nth-last-of-type
Valitsin mahdollistaa valita yhden tai useamman elementin, joka perustuu niiden lähde järjestyksessä, kaavan mukaan. Se määritellään CSS Selectors -tason 3 spesifikaatiossa "rakenteelliseksi pseudoluokaksi", mikä tarkoittaa, että sitä käytetään tyylin luomiseen sen suhteen, että se on vanhempien ja sisarusten kanssa. Se toimii samalla tavalla kuin :nth-of-type
paitsi, että se valitsee lähdetilauksen alareunasta lähtevät kohteet, ei ylhäältä.
Oletetaan, että meillä on järjestämätön luettelo ja haluamme korostaa toiseksi viimeisen kohteen (tässä tarkassa esimerkissä "Neljäs kohde"):
- First Item
- Second Item
- Third Item
- Fourth Item
- Fifth Item
Sen sijaan, että tekisimme luokan lisäämisen luettelokohteeseen (esim. .highlight
), Voimme käyttää :nth-last-of-type
:
li ( background: slategrey; ) /* select the second-last item */ li:nth-last-of-type(2) ( background: lightslategrey; )
Kuten näette, :nth-last-of-type
ottaa argumentin: tämä voi olla yksi kokonaisluku, avainsanat "parillinen" tai "pariton" tai kaava. Jos määritetään kokonaisluku, vain yksi elementti valitaan - mutta avainsanat tai kaava iteroivat kaikki ylätason elementtien alatasot ja valitsevat vastaavat elementit - samanlainen kuin matriisissa olevien kohteiden navigointi JavaScriptissä. Avainsanat "parillinen" ja "pariton" ovat suoraviivaisia (2, 4, 6 jne. Tai 1, 3, 5 jne.). Kaava muodostetaan käyttämällä syntaksia an+b
, jossa:
- “A” on kokonaisluku
- "N" on kirjaimellinen kirjain "n"
- “+” On operaattori ja voi olla joko “+” tai “-”
- “B” on kokonaisluku ja vaaditaan, jos operaattori sisältyy kaavaan
On tärkeää huomata, että tämä kaava on yhtälö ja toistaa jokaisen sisarelementin läpi, mikä määrittää, mikä valitaan. Kaavan ”n” osa, jos se sisältyy, edustaa kasvavien positiivisten kokonaislukujen joukkoa (aivan kuten iterointi taulukon läpi). Yllä olevassa esimerkissämme valitsimme jokaisen toisen elementin kaavalla 2n
, joka toimi, koska joka kerta kun elementti tarkistettiin, ”n” kasvoi yhdellä (2 × 0, 2 × 1, 2 × 2, 2 × 3 jne.). Jos elementin järjestys vastaa yhtälön tulosta, se valitaan (2, 4, 6 jne.). Lue tarkempi kuvaus matematiikasta lukemalla tämä artikkeli.
Seuraavassa on joitain esimerkkejä kelvollisista :nth-last-of-type
valitsimista:
Katso Pen CSS-Tricks:: nth-last-of-type kirjoittanut Chris Coyier (@chriscoyier) CodePenistä.
Onneksi sinun ei tarvitse aina tehdä matematiikkaa itse - siellä on useita :nth-last-of-type
testaajia ja generaattoreita:
- CSS-temppujen testaaja
- Lea Veroun testaaja
Kiinnostavat paikat
:nth-last-of-type
iteroi alkuaineiden kautta lähdeluettelon alareunasta alkaen. Ainoa ero sen välillä on ja:nth-of-type
se, että jälkimmäinen iteroi alkuaineiden kautta, jotka alkavat lähdeluettelon pohjasta.:nth-last-of-type
Valitsin on hyvin samankaltainen:nth-last-child
, mutta yksi kriittinen ero: se on tarkempi. Yllä olevassa esimerkissämme ne tuottavat saman tuloksen, koska toistamme vainli
elementtejä, mutta jos iteroisimme monimutkaisemmalla sisarusten ryhmällä,:nth-last-child
yritämme sovittaa yhteen kaikki sisarukset, ei vain saman elementtityypin sisarukset. Tämä paljastaa sen voiman, joka:nth-last-of-type
kohdistuu tietyntyyppiseen elementtiin järjestelyssä suhteessa samanlaisiin sisaruksiin, ei kaikkiin sisaruksiin.
Selaimen tuki
Kromi | Safari | Firefox | Ooppera | IE | Android | iOS |
---|---|---|---|---|---|---|
Toimii | 3.2+ | Toimii | 9,5+ | 9+ | Toimii | Toimii |
:nth-last-of-type
esiteltiin CSS Selectors -moduulissa 3, mikä tarkoittaa, että selainten vanhat versiot eivät tue sitä. Nykyaikainen selaintuki on kuitenkin moitteetonta, ja uusia pseudovalitsimia käytetään laajalti tuotantoympäristöissä. Jos tarvitset vanhempaa selaintukea, joko polyfill IE: lle tai käytä näitä valitsimia ei-kriittisillä tavoilla á la progressive enhancement, mikä on suositeltavaa.