Starší komentáře ke článku: Schováváme CSS před prohlížeči

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 30.1.2003 0:28:42

Jedine co je pouzitelne je Tentek (voice-family hack). Pri tomto hacku je jasne co sa stane v buducnosti, neve browsere ho vedia korektne spracovat. Ak pouzijeme ostatne tak mozno v dalsej verzi browseru nam tak akurat narobia paseku. A este aby som nezabudol tak je tu @import/media. @import vsak neklada styly do cache takze sa musia nacitat.

Tantek a @import a media="" su jedine ktore pouzivam. Ine su na nic, neviem co spravia zajtra. :)

Ak niekto chce vidiet aj ine hacky tak ich najde tu:
<a href='http://w3development.de/css/hide_css_from_browsers/summary/' target='_blank'>http://w3development.de/css/hide_css_from_browsers/summary/</a>

Avatar

Autor komentáře: Fczbkk

Datum vložení: 30.1.2003 8:48:19

Myslím, že by ešte stálo za to spomenúť expressions, ktoré sú podporované (pokiaľ viem) v IE5.0 a vyššie. V podstate je možné do expression vložiť akýkoľvek JS výraz a ten sa zinterpretuje (používa sa napr. na simulovanie position: fixed), ale v jednoduchej podobe sa dá použiť na vloženie definície, ktorá má byť interpretovaná iba v IE5+. Vyzerá to asi takto:

#mojElement {width: 400px;} /* definicia pre vsetko okrem IE5+ */
#mojElement {width: expression("500px");} /* definicia iba pre IE5+ */

Avatar

Autor komentáře: Vizi

Datum vložení: 30.1.2003 12:03:28

Pro IE (určitě od verze 5) lze použít u jednotlivých vlastností místo dvojtečky rovnítko, např. #prvek {width:400px;width=500px} bude pro IE platit 500px, pro ostatní 400px.
Ve starším NN 4.x se taky nechá konkrétní třída či selector zneplatnit "nesmyslnou" vlastností či jakýmkliv výrazem v definici #prvek {width:400px;IE5hack} - novější prohlížeče nastaví šířku 400px, NN 4.x bude nastavení vlastností celého takového selectoru ignorovat.

Avatar

Autor komentáře: Emka

Datum vložení: 30.1.2003 12:19:14

<a href='http://diveintomark.org/safari/csshacks/' target='_blank'>http://diveintomark.org/safari/csshacks/</a>
<a href='http://centricle.com/ref/css/filters/' target='_blank'>http://centricle.com/ref/css/filters/</a>

Avatar

Autor komentáře: Fczbkk

Datum vložení: 30.1.2003 12:27:52

Je zaujímavé, že bugy prehliadačov obchádzame pomocou ďalších bugov. Niektoré bugy sú proste nepríjemné a niektoré užitočné.

Avatar

Autor komentáře: xaver

Datum vložení: 30.1.2003 19:47:06

sice hezké, ale moc se mi nelíbí to, jak psal koega - obcházení chyb dalšími chybami... co takhle napsat článek o tom, jak podle prohlížeče (rozpoznání v javascriptu nebo třeba pomocí php) stáhnout odpovídající definici stylů?

Avatar

Autor komentáře: potapnik

Datum vložení: 30.1.2003 22:52:21

To je dost problematické. Ono samotné rozpoznání browseru není vždy stoproccentní. Například Opera v nejnovejší verzi 7 final se automaticky hlasi jako IE 6 a pokud byste ji podsunul CSS pro IE 6 quirk mod tak byste se asi moc podivil :-). Ja osobne pouzivam jen dva ze zminenych triku - a to pro NN4 triple-comment - /*/*/ coz mi pripada jako nejprijatelnejsi a kdyz musim tak i Tantekuv hack. Jine nepouzivam, protoze nemam duvod. Stranky tvorim v XHTML 1.1 a koduji v UTF-8 takze se mi i IE 6 chova korektne.

Avatar

Autor komentáře: Michal Kubeček

Datum vložení: 30.1.2003 23:35:33

S tím bych tak úplně nesouhlasil. Pokud si někdo nastaví Operu, aby se hlásila jako MSIE 6 a dostane kvůli tomu ochuzený styl pro MSIE 6, je to jeho chyba a jeho problém. A nemůže tvrdit, že o tom nevěděl - má to přímo před očíma (aspoň v Opeře 6, sedmičku teď nemám po ruce). Je to jako byste si stěžoval, že místo české verze dostanete jako výchozí anglickou, máte-li nastavenou prioritu jazyků en, cs.

Rozlišování podle User-agent je samozřejmě problematická věc a mělo by se používat s rozumem (například jako default pro neznámé agenty použít nejlepší verzi a ne nejhorší). Ale považuji to za čistší řešení než totálně zaneřáděný stylesheet, ve kterém se po dvaceti minutách nevyzná ani jeho autor.

Avatar

Autor komentáře: Webmaster

Datum vložení: 31.1.2003 9:59:30

Na 100% identifikaci Opery (bez ohledu na to, co má nastaven uživatel - třeba i hlášení se jako MSIE6) jsou účinné min. 2 způsoby:

1) navigator.userAgent.indexOf("Opera");

2) window.opera;

Vyzkoušeno i v Opeře 7.0 finalní verze...

Avatar

Autor komentáře: Martin Trčka

Datum vložení: 1.2.2003 18:31:02

Kdybyste se podíval na konec User-Agent řetězce od Opery 7, která má nastaveno, že se má hlásit jako IE 6, tak byste tam uviděl napsáno "Opera 7.0". Analogicky se chovaly i předchozí verze.

Avatar

Autor komentáře: Dušan Janovský

Datum vložení: 31.1.2003 17:19:40

Děkuji za opravdu povedený článek o málo známých vychytávkách. Je to cenné zejména tím, že se zabývá novými prohlížeči, o kterých je zatím zdrojů málo.

Dovolil bych si odkázat na svůj velmi starý článek o téže tématice z doby, kdy se ještě moc nepoužívala @media a hlavní proglém byl, jak odstínit Netcape 4:
<a href='http://dusan.pc-slany.cz/internet/css_prohlizece.htm' target='_blank'>http://dusan.pc-slany.cz/internet/css_prohlizece.htm</a>

Zpět na článek | Úvodní stránka Interval.cz