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:

if ($.browser.msie() && $.browser.version.number() == 6)
{
	document.write("<link href='<!-- ide jön az IE6-os CSS -->' rel='stylesheet' type='text/css' />\n");
}
else
{
	document.write("<link href='<!-- ide jön a nem IE6-os CSS -->' rel='stylesheet' type='text/css' />\n");
}

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:

<html>
<head>
<script type="text/javascript">
var ua=navigator.userAgent;
if (ua.indexOf("MSIE 6.0") > -1)
{
document.write('<link id="css" rel="stylesheet" href="ie6.css" type="text/css" />')
}
else
{
document.write('<link id="css" rel="stylesheet" href="egyebbongeszo.css" type="text/css" />')
}
</script>
</head>
<body>
</body>
</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....