Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Objasnění zápisu v CSS

Ahoj, můžete mi prosím objasnit tento zápis který mi nedává smysl?

nav ul:nth-child(4) { border: solid 10px red; }

V elementu "nav" mám dva seznamy (ul) a potřebuji nastylovat ten druhý seznam.. ale funguje to jen pokud zadám hodnotu 4.

Předmět Autor Datum
To číslo neudává pořadí UL elementů, ale potomků NAV.
Wikan 28.09.2019 16:02
Wikan
Nerozumím, můžeš prosím objasnit?
J.án 28.09.2019 16:04
J.án
Pokud je 4. potomek elementu NAV element UL, tak nastaví ten styl.
Wikan 28.09.2019 16:05
Wikan
A co myslíš tím potomek?
J.án 28.09.2019 16:07
J.án
Element uvnitř jiného elementu.
Wikan 28.09.2019 16:09
Wikan
Můžeš mi v tom kódu prosím očíslovat ty potomky? Pokud vycházíme z toho, že NAV je rodič. <NAV> <D…
J.án 28.09.2019 16:19
J.án
<NAV> <DIV> <!-- 1 --> <H1></H1> <!-- 1 --> <UL> <!-- 2 --> <LI></LI> <!-- 1 --> <LI></LI> <!-- 2 --…
Wikan 28.09.2019 16:33
Wikan
Díky moc za objasnění. Správně by to tedy mělo být takto? nav>div>ul:nth-child(4) { border: solid 1…
J.án 28.09.2019 16:42
J.án
Správně je to, čeho chceš dosáhnout. Nedá se říct, že jeden zápis je špatně a druhý dobře.
Wikan 28.09.2019 16:45
Wikan
No chci nastylovat pouze ten druhý seznam (UL). <NAV> <DIV> <!-- 1 --> <H1></H1> <!-- 1 --> <UL> <!…
J.án 28.09.2019 16:50
J.án
V tom případě spíš chceš nth-of-type místo nth-child.
Wikan 28.09.2019 16:52
Wikan
Uf, tak tedy takto? nav>div>ul:nth-of-type(2) { color:red; }
J.án 28.09.2019 18:33
J.án
Třeba tak.
Wikan 28.09.2019 18:42
Wikan
Tak jestli to jde napsat líp, rád se přiučím ;-)
J.án 28.09.2019 19:09
J.án
Jak jsem psal. Vždycky záleží na tom, co přesně chceš udělat. Pokud chceš vybrat druhé UL, které je…
Wikan 28.09.2019 19:17
Wikan
Super, velmi děkuji za tvůj čas.
J.án 28.09.2019 19:48
J.án
Osobně bych volil class nebo id pro prvek ul. Pokud někdy za čas vsuneš další ul, budeš muset přepsa… poslední
hynajs 28.09.2019 19:52
hynajs
<NAV>
      <DIV> <!-- 1 -->
            <H1></H1>  <!-- 1 -->
            <UL>  <!-- 2 -->
                  <LI></LI>  <!-- 1 -->
                  <LI></LI> <!-- 2 -->
                  <LI></LI> <!-- 3 -->
            </UL>
            <H1></H1> <!-- 3 -->
            <UL>   <!-- 4 -->
                  <LI></LI> <!-- 1 -->
                  <LI></LI> <!-- 2 -->
                  <LI></LI> <!-- 3 -->
            </UL>
      </DIV>
</NAV>

Je tam selektor NAV UL, takže nemusí jít o přímého potomka. Na rozdíl od selektoru NAV > UL.

No chci nastylovat pouze ten druhý seznam (UL).

<NAV>
<DIV> <!-- 1 -->
<H1></H1> <!-- 1 -->
<UL> <!-- 2 -->
<LI></LI> <!-- 1 -->
<LI></LI> <!-- 2 -->
<LI></LI> <!-- 3 -->
</UL>
<H1></H1> <!-- 3 -->
<UL> <!-- 4 -->
<LI></LI> <!-- 1 -->
<LI></LI> <!-- 2 -->
<LI></LI> <!-- 3 -->
</UL>
</DIV>
</NAV>

Zpět do poradny Odpovědět na původní otázku Nahoru