Autor Zpráva
pk
Profil *
zdarek lidi,

jak mam predelat nasledujici radek, tak aby byl validni?

 *html .zahlavi-links {margin: 10px 40px 0 0;} 
joe
Profil
Nevim co znamené hvězdička před tagem, jestli nějaký hack či co, ale napsal bych jen

.zahlavi-links {margin: 10px 40px 0 0;}
Miloš
Profil
Na *html je nevalidní absence mezery, protože prvek *html neexistuje.

Chceš-li mít validní CSS a odfiltrovat explorer, používej místo hacků styly v podmíněných komentářích.
Miloš
Profil
joe
„*html“ funguje jen v IE, narozdíl od „* html“
Str4wberry
Profil
Hvězdička je selektor. V Exploreru 6 ji je možné použít před html pro zaměření prvku, což lze použít jako validní hack.


Dotaz na Miloše:
„*html“
To opravdu v IE funguje?
Miloš
Profil
Str4wberry
To opravdu v IE funguje?
Jojo, dokonce i v IE7 ve standardu.
Vyzkoušej:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style type="text/css">*body {color: red}</style>
<title>*body</title>
fujtajbl
Miloš
Profil
Str4wberry
A abych doplnil – zapíšu-li to ve validním tvaru (s mezerou, * html), pak to funguje nejen v IE, ale i ve FF a Opeře.
Ten tvar bez mezery je právě hack pro IE.
Miloš
Profil
Tak mě ještě napadlo – že si holt u M$ na mezery nepotrpěj.
Když v cmd napíšu cd\ nebo cd.. tak to taky funguje, zatímco pod linuxem bych musel psát správně s mezerama cd / a cd ..
Str4wberry
Profil
Reakce na Miloše:
Tak to, že mezi hvězdičkou a html nemusí být mezera, jsem vážně nevěděl.

Jojo, dokonce i v IE7 ve standardu.
Jenže Ty v ukázce máš „*body {color: red}“, což asi Explorer chápe jako „* body {color: red}“, což pochopitelně funguje.

A abych doplnil – zapíšu-li to ve validním tvaru (s mezerou, * html), pak to funguje nejen v IE, ale i ve FF a Opeře.
To by nemělo. Element <html> nemá rodiče, a proto by selektor „* html“ neměl fungovat. Od Exploreru 7 to tak ve standardním režimu je. V ostatních prohlížečích by to tak mělo být taktéž, zkus si následující ukázku:
<!doctype html>
<style>
* html {color: red}
</style>
Něco
Text „Něco“ by měl zčervenat jen v MSIE 6 a v ostatních Explorerech v quirku.

Nicméně to, že Explorer zbaští „*body“, je pro mě nový poznatek, děkuji Ti, Miloši.
Miloš
Profil
Str4wberry
Tak to, že mezi hvězdičkou a html nemusí být mezera, jsem vážně nevěděl.
Já původně taky ne, ale stačilo odzkoušet.„

Element <html> nemá rodiče
Má, kodéra ;-)
joe
Profil
„*html“ funguje jen v IE, narozdíl od „* html“
To, že to funguje je zajímavé a taky jsem to nevěděl a popravdě mi to je docela jedno, protože jsem si jistý, že to nikdy potřebovat nebudu.

To aby selektor html fungoval jen v IE, stačí ho zapsat s podtržítkovým hackem.

Nicméně žádné využití zápisu *html nechápu - doplněno ;-).
Měsíček
Profil
Reaguji na joa:

"To aby selektor html fungoval jen v IE, stačí ho zapsat s podtržítkovým hackem. "

To ovšem není pravda.

<style type="text/css">
_html {color:red;} /* V IE7, QUIRK, STANDART = ČERNÁ */
*html {color:red;} /* V IE7, QUIRK = ČERVENÁ, STANDART = ČERNÁ */
*body {color:red;} /* V IE7, QUIRK, STANDART = ČERVENÁ */
</style>

Joe!!!
Měsíček
Profil
První zápis je snad jasný, na druhý zápis poukázal Str4wberry, že tag <html> už nemá rodiče a tak by měl fungovat pouze v QUIRK režimu no a třetí je doufám taky jasný .. <body> má rodiče -> <html> a proto se text vykreslí červeně i v QUIRKU i ve STANDARD režimu :)
Dero
Profil
Měsíček: Další nakažený redundancí v podobě "reaguji na"? ;o)

a/ Zopakuj si syntaxi podtržítkového hacku. Váže se na jednotlivé vlastnosti, nikoli selektor.
b/ Zopakuj si rozdíl mezi standartou a standardem.

Faktem je, že než tyhle obezličky, raději použít podmíněné komentáře.
Měsíček
Profil
"a/ Zopakuj si syntaxi podtržítkového hacku. Váže se na jednotlivé vlastnosti, nikoli selektor. "
No já doufám, že je mi to jasné :) proto jsem reagoval na tuto větu ->

To aby selektor html fungoval jen v IE, stačí ho zapsat s podtržítkovým hackem.

A jestli jsem joe(a)ovou větu pochopil správně pak právě myslel, že pokud chceme, aby selektor fungoval pouze v IE dá se před něj podtržítkový hack - což je hloupost a to jsem se snažil dokázat tou ukázkou.

"b/ Zopakuj si rozdíl mezi standartou a standardem. "

Jo, to se mi plete.
joe
Profil
Měsíček
To aby selektor html fungoval jen v IE, stačí ho zapsat s podtržítkovým hackem.

Nenapsal jsem to moc srozumitelně, ale myslel jsem tím zápis:
html { _color: red; }

Mesíčku!!!
Měsíček
Profil
Tak to pak jo :)
Chamurappi
Profil
Reaguji na Dera:
Další nakažený redundancí v podobě "reaguji na"?
Já jsem podle této redundance schopen snadno najít své příspěvky i reakce na konkrétní lidi, jejichž jména skloňuji. Znáš lepší způsob, jak najít vlákna, kde reaguji třeba na tebe?

Zopakuj si syntaxi podtržítkového hacku. Váže se na jednotlivé vlastnosti, nikoli selektor.
Adresuješ svoji připomínku Měsíčkovi, ale reaguješ na joovu větu „aby selektor html fungoval jen v IE, stačí ho zapsat s podtržítkovým hackem“. Kontext je důležitější než způsob uvedení adresáta.


Reaguji na Miloše:
že si holt u M$ na mezery nepotrpěj
Nemyslím si, že to je součástí firemní politiky :-)
Mezera za universálním selektorem mimochodem není podle doporučení CSS 2 povinná, přikazuje ji teprve návrh CSS 2.1.

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:

0