Porozumění selektoru CSS :nth-child().

Porozumění selektoru CSS :nth-child().
Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

Stejně jako všechny selektory CSS můžete použít :nth-child() k identifikaci prvků na webové stránce a aplikovat na ně styly. Tento volič vám však umožňuje zúžit množinu sourozenců na základě jejich relativní pozice.





MUO Video dne POKRAČOVÁNÍ V OBSAHU POKRAČUJTE PŘEJÍMÁNÍM

Selektor podporuje některá základní klíčová slova pro běžné případy, ale také poskytuje výkonnou syntaxi pro porovnávání vzorů. Pomocí něj můžete podle svých potřeb vybírat prvky na základě pravidelných, opakujících se vzorů nebo složitějších definic.





Syntaxe selektoru :nth-child().

Jako Selektor pseudotříd CSS , syntaxe :nth-child() se liší od ostatních selektorů. Bere argument jako vzor pro párování prvků v sadě sourozenců:





 :nth-child(args) { 
    /*...*/
}

Hlavní důraz je kladen na argumenty v závorkách. Tyto argumenty definují podmnožinu prvků, které se mají vybrat.

Použití hodnot klíčových slov pro běžné případy

Tento selektor může obsahovat dvě hodnoty klíčových slov: zvláštní a dokonce . Jsou zvláště užitečné pro styling alternativních řádků v tabulce .



Jednoduchý uspořádaný seznam je dalším dobrým příkladem, kdy můžete použít tyto hodnoty klíčových slov:

 <ol> 
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
    <li>Item 6</li>
    <li>Item 7</li>
</ol>

Za použití :n-té dítě (liché) selektoru, můžete změnit barvu každé alternativní položky:





 :nth-child(odd) { 
    color: red;
}

Položky začínají na indexu 1, takže první položka se zobrazí červeně, pak třetí a tak dále:

  Číslovaný seznam se sedmi položkami. Položky na pozicích jedna, tři, pět a sedm jsou červené.

Funkční zápis pro větší flexibilitu

K výběru jednotlivého prvku můžete použít jedno celé číslo, například takto:





 li:nth-child(4) { 
    color: red;
}

V tomto případě selektor odpovídá pouze čtvrté položce v seznamu:

přenášet soubory z počítače Mac na počítač
  Číslovaný seznam se sedmi položkami. Položka na pozici čtyři je červená.

Tato syntaxe je speciálním případem obecnější funkční syntaxe, která vybírá položky, které odpovídají danému vzoru. Tato syntaxe je:

 :nth-child(An+B) { 
    /*...*/
}

V tomto zápisu A je velikost kroku. To znamená, kolikrát se volič přesune pro výběr další položky. Umožňuje vám vybrat každou další položku, každou třetí položku atd. B je výchozím bodem, kde začíná výběr.

Vezměme například argument 3n+1:

 li:nth-child(3n+1) { 
    color: red;
}

Tím se zahájí výběr na první položce a bude pokračovat s každou třetí položkou:

  Číslovaný seznam se sedmi položkami. Položky na pozicích jedna, čtyři a sedm jsou červené.

Porovnejte to s výrazem 3n+2:

 li:nth-child(3n+2) { 
    color:red;
}

Tím se stále vybere každá třetí položka, ale nyní to začíná od druhé položky v seznamu:

  Číslovaný seznam se sedmi položkami. Položky na pozicích dvě a pět jsou červené.

Dalším zajímavým příkladem je :nth-child(n+3):

 li:nth-child(n+3) { 
    color: red;
}

Tento vybere každou položku (n), počínaje třetí (+3). Bude to vypadat takto:

  Číslovaný seznam se sedmi položkami. Položky na pozicích tři až sedm jsou červené.

K dosažení určitých výsledků můžete také použít odečítání:

USB disk stále odpojuje a znovu připojuje Windows 10
 li:nth-child(3n-1) { 
    color: red;
}

Tento příklad stále vybírá každou třetí položku, ale začíná od „minus první“. Ve skutečnosti to znamená, že vybere druhou položku v seznamu, poté pátou a tak dále:

  Číslovaný seznam se sedmi položkami. Položky na pozicích dvě a pět jsou červené.

Syntaxe

Můžete také použít klíčové slovo z následuje a volič jako argument v selektoru :nth-child(). Tato syntaxe vám umožňuje zúžit možné položky, ze kterých běžný vzor vybírá.

Představte si například, že vaše označení je složitější než originál:

 <ol> 
    <li class="old">Item 1</li>
    <li class="new">Item 2</li>
    <li class="new">Item 3</li>
    <li class="old">Item 4</li>
    <li class="new">Item 5</li>
    <li class="new">Item 6</li>
    <li class="new">Item 7</li>
</ol>

Nyní použijte :nth-child k výběru sudých položek ze sady položek s konkrétní třídou:

 .new { 
    font-weight: bold;
}

li:nth-child(even of.new) {
    color: red;
}

Všimněte si, že pouze tučné položky se sudými čísly jsou červené:

  Číslovaný seznam se sedmi položkami. Položky na pozici tři a šest jsou červené.

Zvažte také, v čem se toto liší li.new:n-té dítě (sudé) která cílí na .nové prvky, ale pouze pokud jsou sudé. To by byly položky 2 a 6 ve výše uvedeném příkladu.

Práce se selektorem :nth-child().

Pomocí selektoru :nth-child() můžete dosáhnout jedinečných návrhů. Můžete vytvářet barevné webové stránky a zvýrazňovat řádky a sloupce v datových tabulkách. Kombinace s dalšími selektory CSS vám pomůže vytvořit komplexní rozvržení a návrhy.