Podtržítkový hack je nevalidní
Jan Bien se v příspěvku Validita CSS důkladně podíval na zoubek podtžítkovému hacku. Na pomoc si vzal specifikaci CSS 2.1 a názory Marka Prokopa, Petra Staníčka, Dušana Janovského, Viléma Málka a Pavla Kouta. Nakonec mu z toho vyšel následující závěr:
Podtržítkový trik je podle CSS 2.1 gramaticky správný, ale nevalidní.
Stejně jako Honza i já na závěr doporučím výrok Pavla Kouta:
Validita není dogma, ale vodítko. Mohu jistá pravidla porušit, ale jen tehdy, uvědomuji-li si sakra dobře, co a proč dělám. Dělal-li bych to jen proto, že to dělají ostatní, pak bych byl nebetyčný vůl.
Seriál: CSS hacky
- :hover i pro IE>=5 [20. července 2005 10:47]
- Podtržítkový hack je nevalidní [21. října 2004 20:30]
- Rozlišení jednotlivých prohlížečů a jejich verzí [8. července 2004 10:00]
- Podpora CSS hacků v prohlížečích [21. ledna 2004 16:26]
- CSS hack pro Internet Explorer [21. listopadu 2003 14:50]
- Už žádné další CSS hacky [7. listopadu 2003 20:55]
Komentáře
A co teprve kdybychom se zamysleli nad statusem specifikace CSS 2.1. =)
[1] Adame, ta IMHO zůstane navždycky ve stádiu WD (ačkoliv bude de-facto implementována) a jako TR vyjde až specifikace CSS 3.
CSS 2.1 je už CR, ale je možné, že v tomto stádiu zůstane přesně tak jak říkáš.
Mám strach, že by CSS 3 vyšlo během nadcházejících dvou let. Pokud ano, bude blíž CSS 2.1 než dnešní pracovní verzi CSS 3, protože pro každou vlastnost vyžaduje implementaci minimálně ve dvou dostupných UA.
Tyto neustálé dohady už jsou únavné. Pro koho to řešíte? Návštěvníka NEZAJÍMÁ, jestli je web 100% validní, 99% validní, 90% validní nebo není, ale jestli mu stránky KOREKTNĚ FUNGUJÍ. Řešit stále dokola věci tohoto typu je absolutně zbytečné až kontraproduktivní. Při tvorbě webu je třeba brát ohledy na určitá pravidla (všichni víme, proč), ale až takto se handrkovat o každý nesmysl je úplně mimo.
Totéž v bledě modrém platí pro stále rozšířenější ikonky pod stránkami značící něco jako "css 2.1 valid". Pro koho to je? Aby se autor webu mohl plácat po ramenech nebo aby oslnil kolegy, kteří tam ten čudlík nemají? Čtenáři je to úplně jedno, a z mého pohledu je to až vtíravé. Zabijte mě za názor, ale už jsem se na to nemohl jen tak dívat...
Už mě to nebaví, tak to říkám naposledy. Proč nepoužíváte selektory???? Vždyť tam se nedá o ničem hádat a navíc to ani není hack. A není to nebezpečné jako podtržítkový hack... ale budiž...
CSS2.1 podtržítkové hacky přímo nezakazuje a co není zakázáno, je dovoleno. Sám bych byl radši, kdybych je nemusel používat, ale dokud bude IE taková prasárna, tak co mám dělat, je to majoritní prohlížeč.
Jux: Tak používej selektory kurnik. To snad není pravda tohle... :(
Jde nějak rozumně odstřihnout IE starší než 6 od css? Pomocí podmíněných komentářů umím css podstrčit, ale já bych rád jednoduše css pro tyhle vykopávky zakázal.
"Podtržítkový hack je nevalidní" ... a proto ho nepouzivam, stejne jako dalsi, treba jako lomitkove filtry aj. a stejne jako Anatoly odjakziva pouzivam selektoru, nebo "* html foo".
JohnyB: A hlavně víme, že se nemusíme ničeho bát, když náhodou přijde nové IE. ;) Měl bych o tom něco podrobného sepsat.
Pavel Vrany: Myslím, že IE5 a IE5.5 nejsou žádné vykopávky a kromě špatného box modelu to není taková katastrofa, jestli pro ně neumíte napsat funkční stylopis, tak to se vám divím, protože jsou to vcelku rozumné prohlížeče a moc problémů jsem s nimi zatím neměl, rozhodně tu nebyl žádný, který by se nedal řešit.
raven:
1)Nemam k dispozici zadne MSIE a ani nemam chut pro ne naslepo ladit. Odstrizeni verzi starsich nez 6 od css by zpusobilo, ze cca 12% navstevniku uvidi dobre strukturovane HTML misto rozhozeneho webu. Samozrejme mluvim o osobnich strankach, kde bych tento vysledek uprednostnil. Nevidim duvod ztravit pri jejich tvorbe vic casu, nez je nezbytne nutne a zaroven mam chut si vyzkouset nove moznosti.
2)Nelibi se mi zadne hacky v css a ani nadbytecne zapouzdrujici DIVy v html. Z vysledku mam pak mensi radost, nez kdyz to polovina lidi uvidi spatne, ale ja budu vedet svoje ;)
3)6 let stare jadro nepovazujete za vykopavku?
[10] Myslím, že to strašení novým IE není správné - pokud někdy bude nová verze IE, tak snad už bude umět počítat správně a underscore-hack prostě přeskočí a vezme si správnou definici, jako všechny normální UA. A když ne, pak se holt zařadí po bok degenerované rodiny IE5.0/5.5/6.0 a bude dál počítat postaru.
A v tom se mylite. Protoze pochybuji ze IE podtrzitko zrusi. A i kdyz bude pocitat spravne, tak jelikoz se podtrzitkova vlastnost definuje za nepodtrzitkovou, tak se pro IE pochopitelne aplikuje ta podtrzitkova. Takze neni otazkou zda opravi box model, ale jestli nechaji podtrzitko a ja myslim, ze jej nechaji. Rozhodne nechapu proc tady tak branite hack, ktery ani neni zrovna nejlepsi. Mnohem lepsi je pouzit html>body nebo jakkoli jinak aplikovany selektor tohoto typu a nebat se pote niceho.
A to co rikate je take nesmysl, jak muze preskocit podtrzitkovy hack a vzit si nomralni definici, kdyz uz vezme si normalni definici a nasledne preskoci podtrzitkovy hack, ovsem jak jsem jiz rekl, pravdepodobnost zruseni podtrzitka je velice nizka, narozdil od opraveni box modelu, pridani selektoru (>) atd.
Představme si, že pozicujeme sloupek a každá z používaných verzí IE (5/5.5/6) ho umístí jinam, přičemž ve dvou případech překrývá text v datové části stránky. Pokud existuje lepší ošetření než underscore-hackem (resp. kompletním IE-filtrem, pak sem s ním (samozřejmě myslím reálné řešení, nikoliv "tak tam ten sloupek nedávej" apod.).
[14] A co ten:
* html
taky ho používám místo podtržítkového hacku? Akorát mi není jasné v čem je dopředně kompatibilnější než podtržítkový hack. IMHO bude zachován v IE7 jak podtržítkový hack tak * html.
[15] A tím, Petře, dokážeš odfiltrovat jednotlivé verze IE?
[16] Ano, už jsem o tom dokonce psal:
http://www.zpravy.net/weblog/archiv/0407/rozliseni-jednotlivych-prohlizecu-a-jejich-verzi.php
[17] Ten spot znám a link na seriál jsem zrovna před chvilkou posílal Davidu Špinarovi :-) Ale utekla mi ta druhá část pomocí kontextových selektorů, díky.
Další příspěvky
- Aktuální příspěvky
- Novější příspěvky
- Tahák na vyhledávání [29. října 2004 23:44]
- Povzdechnutí nad PPC v Čechách [27. října 2004 8:41]
- Yahoo a Adobe spolupracují v oblasti PDF [26. října 2004 8:48]
- Starší příspěvky
- Splňuje váš web webové standardy? [21. října 2004 15:58]
- Bezbariérový web [20. října 2004 7:11]
- Google Desktop jako nejlepší spyware [19. října 2004 19:22]
- Všechny příspěvky za měsíc říjen 2004


