ugrás a tartalomhoz

IE 6-n kivül minden böngészőre vonatkozzon a CSS

Castor87 · 2008. Már. 3. (H), 15.38
Üdv!

Van két css fájlom. Azt szeretném ha IE6-val böngészik az oldalt, akkor az egyik, ha bármi mással (IE7, FF, stb) akkor a másik töltődjön be.

Azt már megtaláltam, hogy IE6 esetén milyen kód kell (<!--[if IE 6]>). Azt nem tudom, hogy a másik fájlt milyen módon töltsem be/ mivel kezeljem le.

G.
 
1

Sehogy

janoszen · 2008. Már. 3. (H), 16.41
Sehogy. Az IE6-nak írj olyan CSS-t, amelyik felülírja az összes többi böngészőre vonatkozó CSS szabályokat. Ergó legyen hosszabb a selector, vagy használj !important megjelöléseket az azonos mezőkre.
2

Vagy használhatsz jQueryt (vagy sima JavaScriptet)

Velias9 · 2008. Már. 3. (H), 17.08
Töltsd le a sima jQuery-t a http://docs.jquery.com/Downloading_jQuery címről és mellé a Browser plugint a http://davecardwell.co.uk/javascript/jquery/plugins/jquery-browserdetect/ címről. Ha ezzel meg vagy, akkor linkeld be őket az oldaladra és írj egy Javascript programot. Valami ilyesmit:
  1. if ($.browser.msie() && $.browser.version.number() == 6)  
  2. {  
  3.     document.write("<link href='<!-- ide jön az IE6-os CSS -->' rel='stylesheet' type='text/css' />\n");  
  4. }  
  5. else  
  6. {  
  7.     document.write("<link href='<!-- ide jön a nem IE6-os CSS -->' rel='stylesheet' type='text/css' />\n");  
  8. }  
Fontos, hogy ezt a fejlécbe rakd és ne az oldal betöltődése után hív meg a kódot!

A másik megoldás, hogy eleve beírod a HTML kódba a meghívott CSS-t és, ha a böngésző IE6, akkor a 'href' tulajdonságát állítod csak át a másik CSS-re.
3

Kompatibilitás?

janoszen · 2008. Már. 3. (H), 20.21
Hja, ez aztán kellemes lesz, mert amíg a JQuery letöltődik, a rossz stylesheet lesz kint, aztán meg hirtelen megjelenik a jó. Tekintve hogy a többség még mindig IE6-ot használ, ezt a megközelítést nem tartom túl jónak. Sokkal inkább jól kellene megírni az IE6 bugfix CSS-ét és akkor nincs gond.
7

Biztos?

Velias9 · 2008. Már. 5. (Sze), 16.05
Szerintem, ha az oldal betöltődése előtt a fejlécben hívja meg a függvényeket, akkor jól működik. Nem onload-dal gondoltam a feladat megoldását.
5

hehe

Castor87 · 2008. Már. 5. (Sze), 13.41
Ez tényleg elég dúrva :)
4

kgyt ezt javasolta

balazsgabi · 2008. Már. 3. (H), 22.53
http://weblabor.hu/levlistak/wl-designlista/2007/08/001453

és rendben is van :)
6

frankó

Castor87 · 2008. Már. 5. (Sze), 13.44
Azt hiszem ezt fogom használni.

Egy kis jelmagyarázat, ha más is olvassa később:
gt: nagyobb verziószámú mint...
lte: kisebb vagy azonos verziószámú mint...
8

ie6 css

fiokposta · 2008. Már. 12. (Sze), 01.53
Csak úgy sebtiben:
  1. <html>  
  2. <head>  
  3. <script type="text/javascript">  
  4. var ua=navigator.userAgent;  
  5. if (ua.indexOf("MSIE 6.0") > -1)  
  6. {  
  7. document.write('<link id="css" rel="stylesheet" href="ie6.css" type="text/css" />')  
  8. }  
  9. else  
  10. {  
  11. document.write('<link id="css" rel="stylesheet" href="egyebbongeszo.css" type="text/css" />')  
  12. }  
  13. </script>  
  14. </head>  
  15. <body>  
  16. </body>  
  17. </html>  
Így ugye nem kell függvénykönyvtár...

Vannak más megoldások:
pl:

<link rel="alternate stylesheet"
    title="Steely"
    href="http://www.w3.org/StyleSheets/Core/Steely">

  <link rel="alternate stylesheet"
    title="Forest (by David Baron)"
    href="http://dbaron.org/style/forest">

ugye a hasonló title-vel ellátott html-ek a vonatkozó css-t hívják meg
Így az ie6-os oldalaknak, mondjuk más címe kell legyen...

A google kidob egy csomó találatot az alternate stylsheet kulcsszóra, egyéb megoldások....