Autor Zpráva
randalfien
Profil
Ahoj, tenhle zapis sem nasel na na csszengarden.com
co znamena to > v tom zapise? vite nekdo?

body#css-zen-garden > div#extraDiv3

dikes

kdybyste to hledali http://www.csszengarden.com/?cssfile=037/037.css
Alphard
Profil
http://www.w3.org/TR/CSS21/selector.html#child-selectors
randalfien
Profil
aha a jakej je rozdil mezi body > p
a body p
??
Honza_
Profil
body > p je více omezující než body p
Philber
Profil
v čem?
Joker
Profil
Philber
v čem?
Mezera je "selektor potomka" a > je "selektor dítěte".
Takže je to vlastně podmnožina... každé dítě někoho je současně jeho potomek, ale ne všichni jeho potomci musejí být jeho děti ;-)
randalfien
Profil
jo, dikes Joker ted mi to doslo...:)
peta
Profil
> funguje jen v nekterych a prevazne gecko prohlizecich

doslo, kdyby ne, zkusim jeste takove vysvetleni
body p
= <body> [<p>
= <body> [<p> [<p>]]
= <body> <div> [<p>]
= <body> <div> <table> [<p>]
body>p
= [<body> <p>]
= [<body> <p>] <p>

td p
= <table> <tr> <td> [<p>]
= <table> <tr> <td> <table> <tr> <td> [<p>]
= <table> <tr> <td> <div> [<p>]
td>p
= <table> <tr> [<td> <p>]
= <table> <tr> <td> <table> <tr> [<td> <p>]

Samozrejme z tech dvojic to plati jen pro P, ale chtel jsem zduraznit, co se hleda.
Pouzivalo by se to bezne, kdyby to fungovalo ve vsech prohlizecich, takto se to pouziva pro odliseni gecka a ostatnich, treba IE
Bubák
Profil
peta
> funguje jen v nekterych a prevazne gecko prohlizecich
Funguje všude, s výjimkou IE (poznámka: IE8 to bude umět)

...takto se to pouziva pro odliseni gecka a ostatnich, treba IE
A co třeba Opera, Safari a Konqueror? Snad nevytasíš nový blud a nezašneš tvrdit, že tyto proglížeče používají jádro Gecko, třeba v nějaké kombinaci.
Chamurappi
Profil
Reaguji na randalfien:
V tomto konkrétním případě je to hack na odlišení starších prohlížečů (zejména Exploreru 6). Autor stylopisu by jinak mohl zaměřit přímo div#extraDiv3, protože žádný jiný <div> s tímto ID na stránce není, ale on potřeboval nastavit určité vlastnosti jen v omezené množině prohlížečů, proto zvolil složitější selektor.


Reaguji na Jokera:
Mezera je "selektor potomka" a > je "selektor dítěte".
Spíš bych řekl, že s mezerou jde o „selektor libovolného potomka“ a s většítkem o „selektor přímého potomka“.


Reaguji na petu:
body>p = [<body> <p>] <p>
V HTML nejde dát odstavec do odstavce. Máš-li třeba takovýto kód:
<style>
p { color: blue }
body > p { color: royalblue }
</style>
<body>
  <p>prašť
    <p>uhoď</p>
  </p>
</body>
… tak bude mít stejnou barvu „prašť“ jako „uhoď“, protože oba odstavce jsou přímými potomky <body>.


Reaguji na Bubáka:
s výjimkou IE (poznámka: IE8 to bude umět)
Sedmička ve standardním režimu též.
Joker
Profil
Chamurappi
Spíš bych řekl, že s mezerou jde o „selektor libovolného potomka“ a s většítkem o „selektor přímého potomka“.
Jasně... já to jednak vzal jako překlad "descendand selector" a "child selector" a jednak jsem chtěl ukázat, že to je stejný rozdíl jako mezi významem "dítě/rodič" a "potomek/předek" ;-)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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