Autor Zpráva
Janina
Profil
Samozřejmě nejlepší je nehackovat vůbec, ale když už je to nutné, je lépe používat podtržítkový hack nebo podmíněné komentáře? Pokud se bavíme konkrétně o IE..
Nox
Profil
Nejlepší (edit) imho jsou podmíněné komentáře, ono pak nejde ani pořádně o hack, jsou to stylopisy s obsahem korektním pro daný prohlížeč
Chamurappi
Profil
Reaguji na Noxe:
Což je z pohledu universálního přístupu úplně stejný hack jako ten podtržítkový.


Reaguji na Janinu:
Je to celkem jedno. Lépe se mi zkoumá cizí stylopis, když je celý pohromadě, takže mám raději podtržítka (či rovnítka pro sedmičku).
Taurus
Profil
Jen na okraj - kdo chce zezelenat u validátoru, je pro něj lepší podmíněný než podtržítkový...
Nox
Profil
Chamurappi
Nevím přesně jak to myslíš, ale je nad tím řekl bych o něco větší kontrola, ne? Můžeš přesně určit pro které verze stylopis bude
Navíc mi to přijde o něco čistčí, hack je holt hack... podmíněný komentáře vypadají relativně moc (teď nevim slovo) na to aby se jednalo o neúmyslnou vlastnost
Chamurappi
Profil
Reaguji na Taura:
Chytrý CSS validátor by měl zvalidovat i podmíněný stylopis.


Reaguji na Noxe:
je nad tím řekl bych o něco větší kontrola, ne?
Jak se to vezme. Můžeš zřetelněji zacílit verze — v tom je větší kontrola. Ale když se pak někdo další rozhodne udělat změny a nevšimne si, že jsou kousek vedle od upravených vlastností i podmínění příbuzní, něco si rozbije. A třeba si toho ani nevšimne.
Už jsme tu měli pár takových dotazů: „proč se mi rozpadá layout v šestce?“ — „protože si ho rozbíjíš v podmíněném stylopisu“. U podtržítka je podobné přehlédnutí méně pravděpodobné.

podmíněný komentáře vypadají relativně moc (teď nevim slovo)
Moc maďarsky?

na to aby se jednalo o neúmyslnou vlastnost
Přístup Exploreru 6 k podtržítkům je úmyslný.
Taurus
Profil
Chamurappi
Myslel jsem tím, že při podmíněném komentáři můžou být oba styly validní, kdežto ty s podtržítkama ne.
joe
Profil
Taurus
Oba styly validní? A k čemu mi to bude? Fakt zezelenám? Ty jo, asi to zkusím.

Janina
Podle mě je lepší psát všechno do jednoho souboru, takže pro IE6 podtržítko a pro IE7 jsem myslel že je &. Tak nevím, neznám, nepoužívám :-)
panther
Profil
joe
pro IE7 jsem myslel že je &
to nevím, ale kromě rovnítka funguje tuším i „*“. Tuším.
Yur4Y
Profil
panther
Takisto aj $, #, ~ a mnoho ďalších.

Ja som si nikdy nezvykol používať hacky na spôsob podtržníkového, aj keď na validnom CSS mi nezáleží, bežne používam propertiálne vlastnosti rôznych prehliadačov. Pre IE6 používam * html #bla, pre IE7 *:first-child+html #bla. Aj keď zas tak často tie hacky nepotrebujem, snažím sa písať kód, ktorý funguje všade rovnako.

Len tak na okraj, stretol som sa s niekoľkými stránkami s ikonkou Valid CSS 2.1, pričom v kóde bol podmienený komentár, ktorý skrýval CSS s filtrami, behaviormi a inými nevalidnými srandami ;-)
Bubák
Profil
Odpovím obecně.
Není dobré používat hacky, o kterých nevíš, jak se budou chovat v příštích verzích prohlížečů.
Dneska se ví, ve kterých verzích IE funguje podtržítkový hack, a ve kterých verzích IE funguje hvězdičkový hack, "zajímavých" znaků je více, jak připomenulYur4Y. Ale v době před IE 7 nikdo netušil, které z těchto hacků budou fungovat příštích verzích IE.

Pokud použiješ příliš mnoho nevalidních hacků, dostaneš nepřehledný výpis z validátoru a vyznat se v něm je pak obtížnější.

Pokud použiješ méně obvyklý hack, časem zapomeneš, jakou má funkci a při úpravách webu tě rozbolí hlava. Doporučuje se mít u hacku vysvětlující komentář.
Joker
Profil
Chamurappi:
Lépe se mi zkoumá cizí stylopis, když je celý pohromadě, takže mám raději podtržítka (či rovnítka pro sedmičku).
Z tohohle pohledu jo, nicméně...

joe:
Podle mě je lepší psát všechno do jednoho souboru
Mně se zase víc líbí opačný přístup- mít "základní" kód oddělený od věcí, které tam jsou jen kvůli funkčnosti v nějakém prohlížeči.
Plus taková menší výhoda, že s podmíněnými komentáři se ten stylopis vůbec nenatáhne v prohlížečích, kde ho nepotřebuju.

No a tak nějak celkově se mi víc líbí myšlenka, že prohlížeč dostane stylopis určený pro něj, než že dostane všechno, ale část nezpracuje, protože jí nerozumí.
Taurus
Profil
joe
Proč ten přiblblý tón? Můj příspěvek nebyl schválně zabarvený, nelpím na zelené za každou cenu. Klid.

Joker
Souhlasím... bordýlek hodit do speciálního souboru.
Chamurappi
Profil
Reaguji na Taura:
bordýlek hodit do speciálního souboru
Není to bordýlek, je to regulérní (a nezbytná) součást stylopisů, jejíž nechtěné smazání či neodborná úprava může výrazně poškodit vizáž webu.

U většího webu majícího víc sekcí, víc stylopisů (se stovkami řádků) a jejich kombinací, si nedovedu představit, že by někdo chtěl vytvářet a udržovat separátní stylopisy pro Explorer. Mít „bordýlek“ poblíž souvisejících stylů je v takové situaci velmi praktické. Při použití podtržítek/rovnítek pak můžeš pohodlně kopírovat/přesouvat celý balík stylů, aniž by ses koukal, jaké dodatky se válí kolem v HTML. (Nehledě na to, že upravování HTML může spadat do pravomoci někoho jiného.)


Reaguji na Jokera:
mít "základní" kód oddělený od věcí, které tam jsou jen kvůli funkčnosti v nějakém prohlížeči
Oddělení pomocí podmíněných komentářů funguje jen na Explorery. Budeš-li potřebovat odlišit Mozillu, musíš zvolit jiný přístup, který bude mít blíž k ostatním druhům hacků.

s podmíněnými komentáři se ten stylopis vůbec nenatáhne v prohlížečích, kde ho nepotřebuju
Ale o jeden HTTP požadavek se zbrzdí načítání v prohlížeči s nezanedbatelným tržím podílem. Dalo by se spočítat, do jaké velikosti podmíněného stylopisu převyšuje návštěvníkův průměrný objem přenesených dat tytéž styly využívající podtržítkový hack.

tak nějak celkově se mi víc líbí myšlenka, že prohlížeč dostane stylopis určený pro něj, než že dostane všechno, ale část nezpracuje, protože jí nerozumí
To právě odporuje ideji universálního přístupu. Uložím-li si stránku na disk v Mozille, můžu si ji prohlédnout v Exploreru? Co všechno archivují archivní služby (jako web.archive.org)? Jsou zaarchivované stránky prohlížitelné bez problémů čímkoliv? (Netvrdím, že jsou tyto aspekty nějak zvlášť důležité, ale když už si hrajeme na čistotu, patří na stůl i tyto karty.)

Krom toho je celé CSS stavěné na zaměřování a netrefování. Zaměř „div.hlavička“, nabarvi ho na „infrared“, hups, neznáme barvu, nevadí, jedeme dál, zaměř „div.tělíčko“, hups, nenašli jsme, nevadí, jedeme dál, zaměř „body“, nastav mu „_height“, hups, to je ale ujetá vlastnost, nevadí, jedeme dál…
A pak třeba v jiné době, na jiné stránce, či v jiném prohlížeči dostanou ty zbytečné deklarace význam.


Reaguji na Bubáka:
Pokud použiješ příliš mnoho nevalidních hacků, dostaneš nepřehledný výpis z validátoru a vyznat se v něm je pak obtížnější.
Chytrý validátor by mohl umožňovat filtrování. A nebo alespoň seskupovat stejné hlášky…
joe
Profil
Taurus
Normální tón. "Ty jo", tím jsem nemyslel, že ty ano. Klid :-)

Joker
Pokud je vše v jednom souboru, pak stačí editovat jen jeden soubor a prostě lépe (alespoň mně) se to u většího projektu upravuje. Jinak viz #14.

Bubák
Pokud použiješ příliš mnoho nevalidních hacků, dostaneš nepřehledný výpis z validátoru a vyznat se v něm je pak obtížnější.
Věřím, že ten kdo weby dělá a umí je dobře, tak ten moc hacků nepotřebuje. A k nepřehlednému výpisu z validátoru. Stačí používat chytrý editor, který umí zvýrazňovat i syntaxi pro CSS hacky :-)
Taurus
Profil
Chamurappi
Není to bordýlek, je to regulérní (a nezbytná) součást stylopisů, jejíž nechtěné smazání či neodborná úprava může výrazně poškodit vizáž webu.

Ano, nezbytný bordýlek kvůli IE6. No, s hacky občas začínám, ale při dokončení hlavní práce na stylech převádím tuto šepleť do druhořadého css.

K tomu by se mohl přiřadit dotaz - psát tiskový styl zvlášť nebo ne? Já to tak třeba dělám, ale to jen z důvodu určitého pořádku a odlišení, nic hlubšího.
grimword
Profil
Chamurappi
takže mám raději podtržítka (či rovnítka pro sedmičku)
pro IE6 _class
pro IE7 =class

???
Taurus
Profil
Toť :-)

.class {
     border: 1px solid #f60;
     _border: 1px solid #f60; /* IE6 */
     =border: 1px solid #f60; /* IE7 */
}
Chamurappi
Profil
Reaguji na Taura:
Ano, nezbytný bordýlek kvůli IE6.
Nezbytný je kvůli nekompatibilitě. Sám Explorer 6 nepotřebuje hacky a kdyby novější prohlížeče implementovaly všechno stejně jako šestka, nebyly by hacky potřeba vůbec.


Reaguji na grimworda:
.class {
   color: red; /* berou všichni */
  -color: blue; /* bere Explorer 6 */
  _color: black; /* bere Explorer 6 + novější Explorerové v quirku */
  =color: yellow; /* bere Explorer 6 a 7 + novější Explorerové v quirku */
}
Taurus
Profil
Chamurappi
Rovnítko bere i šestka? Mně to nevzala. Může to být módem? Ty jsou pro mě zatím takový guláš, i když si bez jejich hlubokých znalostí zatím dokážu s css poradit.
Od dob, co jsem četl o válečných obdobích a krocích w3c s prohlížeči proti IE, mé zaujetí vůči exploreru trochu kleslo. Přesto nemám šestou verzi ani trochu rád.
H13
Profil
Nejlepší (edit) imho jsou podmíněné komentáře

Taky jsem si to myslel, do té doby než vyšla IE8. Teď jsou v podstatě v oběhu 3 hlavní verze IE (IE6,IE7,IE8). Když ještě nebyla IE8, nikdo netušil, co v ní bude opraveno a co ne, takže tvorba podmíněných komentářů je sázka do loterie:

Mám udělat podmíněný komentář pro celý IE nebo pro určitou verzi?

Když jsem udělal komentář pro všechny IE a v IE8 se změnilo chování, pak stránka fungovala v IE6, IE7, ale v IE8 byla rozhozená :-(
Když jsem udělal komentář např. menší a stejné IE7 a v IE8 se chování nezměnilo, pak stránka opět fungovala v IE6, IE7, ale v IE8 byla rozhozená :-(

Naštěstí nejsem webdesigner a těch komentářů jsem zpětně nemusel upravovat tolik. Ovšem nezávidím webdesignerům, kteří si vsadili na něco, co nevyšlo a teď to musí zpětně opravovat

Z trendu používaní prohlížečů to vypadá, že IE6 bude používanější než IE7 a tak to také vypadá na to, že např. vyjde IE9 v době, kdy budou v podstatě v provozu čtyři prohlížeče od IE ... to pak bude hackování :-)
habendorf
Profil
H13:
Ovšem nezávidím webdesignerům, kteří si vsadili na něco, co nevyšlo a teď to musí zpětně opravovat

Mají to psát pořádně.
H13
Profil
habendorf
Mají to psát pořádně.

??? Jak tedy napsat "pořádně", aby se v IE6 zobrazil průhledný png? atd, atd. (Omlouvám se, hlavně Chamurappimu, že to tady zase rozvádím, ale toto vlákno je o používání hacků, tedy je to běžná praxe, a věta typu "mají to psát pořádně" nemůže být po tolika diskuzích ohledně používání hacků a podmíněných komentářů myšlena vážně)
Bubák
Profil
Jak tedy napsat "pořádně", aby se v IE6 zobrazil průhledný png?
Už zase! Má snad s tímto průhledným PNG obrázkem IE6 nějaký problém?

věta typu "mají to psát pořádně" nemůže být po tolika diskuzích ohledně používání hacků a podmíněných komentářů myšlena vážně
habendorf to myslí naprosto vážně a bravurně ovládá umění „psát pořádně“.
Taurus
Profil
Bubák
Už zase! Má snad s tímto průhledným PNG obrázkem IE6 nějaký problém?

Neměl by mít, ale je tu dalších 100 úrovní průhlednosti, které tento šepleťový prohlížeč nezvládne. :-)
H13
Profil
Bubák
Průhledný png byl pouze příklad toho, že se hacky (mezi které patří i podmíněné komentáře) běžně používají. Samozřejmě nemluvím o PNG s vlastnostmi GIF, ale o opravdovém PNG.

Pokud vytvořím webovou stránku, která bude obsahovat např. pouze text, pak tam samozřejmě hacky potřebovat nebudu a pak platí, že webové stránky se mají psát pořádně a bez hackování.

Takže se tedy znovu omlouvám, a dodávám, že pokud píšu o webových stránkách (a jejich hackování, atd.), mám na mysli moderní grafické webové stránky (viz. např. stránky, které se objevují zde: http://www.everyblock.com/ )
DJ Miky
Profil
Taurus, H13: Bubák narážel na to, že průhlednost (jako u GIFu) a průsvitnost (256 úrovní) jsou dvě rozdílné věci. S průhledností PNG nemá IE6 žádný problém.
H13
Profil
DJ Miky
Bubák
Ok, příště si dám pozor na pojmy, tak tedy průsvitnost :-)

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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