Autor Zpráva
rad
Profil *
Dobrý den

mám dotaz jak funguje contextual prirazovani atributu

mám například toto

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <meta name="generator" content="PSPad editor, www.pspad.com">;
  <title></title>
  <style type="text/css">
 ul li li{color:red;}
  </style>
  </head>
  <body>
<ul>
<li>1</li>
  <li>2
    <ul>  
      <li>2,1</li>
      <li>2,2</li>
  
    </ul> 
    </li>
 <li>3</li>    
</ul>
  </body>
</html>


Proč se style nepriradi hned druhemu li ? tedy 2 proc to plati az pro 2,1 2,2 ?
myslel jsem si ze contextuel se prirazuje elementu napriklad: ul li - vsechny li ktere jsou nekde v ul nebo po nem
diky protoze ja opravdu netusim.
tiso
Profil
rad: pretože funguje na všetky li, ktoré sú vo vnútri li, ktorý je vo vnútri ul.
Tori
Profil
rad:
ul li - vsechny li ktere jsou nekde v ul nebo po nem
to je správně. Logicky potom "ul li li" znamená "všechny li, které jsou uvnitř jiného li, který je uvnitř ul", nikoli "li následující po [ li, který je uvnitř ul ]"
rad
Profil *
ok takze takto
"všechny li, které jsou uvnitř jiného li, který je uvnitř ul" ?
<ul>
<li>1<li>2,2</li>
</li>
</ul>

pokud jsem spravne pochopil = li uvnitr li ktery je unitr ul

takto to bohuzel nefunguje
chtel jsem se zeptat element musi být uvnitr ?
jaký je potom rozdíl v zápisu
ul>li>li ?
panther
Profil
rad:
takto to bohuzel nefunguje
ano, neznáš základy HTML, tak to nemůže fungovat.
Tori
Profil
li uvnitř li může být i toto:
<ul>
  <li>
    <div>
      <p>
        <ul>
          <li>Tento</li>
        </ul>
      </p>
    </div>
  </li>
</ul>

jinak tag li nemá povinný ukončovací tag, takže ten váš příklad jsou dva obyčejné sousedící <li> + nadbytečný ukončovací tag.
panther
Profil
Tori, Tori:
li uvnitř li může být i toto:
mno, řekněme, že seznam - <ul> - uprostřed odstavce budeme považovat za momentální úlet :-)
habendorf
Profil
Tori:

To sice je li uvnitř li, ale ul v p? Nicméně o tom toto vlákno není.

EDIT: ehm, pozdě
Trejpa
Profil
rad
Proč se style nepriradi hned druhemu li ? tedy 2 proc to plati az pro 2,1 2,2 ?
Aby se použil, tak potřebuješ použít selektor souseda:
ul + li + li { color: red; }


se prirazuje elementu napriklad: ul li - vsechny li ktere jsou nekde v ul nebo po nem
Ne po něm, ale pouze v něm. Mezera je selektorem potomka (libovolného, ne jen přímého). Tedy ul li li { } očekává <li> uvnitř jiného <li>, ale ten už nemusí být přímo v něm (to v tomto případě v HTML ani nelze), prakticky to bývá zanořeno <ul> <li> <ul> <li>, přičemž pravidlo platí pouze na poslední <li> a všechny ostatní na stejné (nebo ještě zanořenější) úrovni.

jaký je potom rozdíl v zápisu ul>li>li ?
To je selektor přímého potomka, tedy jen na přesně toto zanoření značek.
(Zrovna značka <li> v HTML do jiné <li> zanořit nejde.)



Upozorňuji, že selektor souseda (+) a přímého potomka (>) neumí prohlížeč Internet Explorer ve quirk režimu.
Tori
Profil
panther, habendorf
ajaj, taková pitomost,.. omlouvám se, nepřemýšlela jsem.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: