webForumDet fria alternativet

Olika Css för olika webbläsare

HTML & CSS

2 svar · 559 visningar · startad av J07

Medlem sedan maj 2007172 inlägg
Frågan#1

Har testat att lägga detta i head:
<!--[if IE]>
<link href="stil_ie.css" type="text/css" rel="stylesheet" />
<![endif]-->
<![if !IE]>
<link href="stil.css" type="text/css" rel="stylesheet" />
<![endif]>

Detta bör fungera enligt mig men i ett ASP.NET projekt säger projektet att det inte är tillåtet i IE 6 men det borde väl fungera även där?

finns det andra sätt?

Medlem sedan juni 20019 519 inlägg
#2
<link href="stil.css" type="text/css" rel="stylesheet" />
<!--[if IE]>
<link href="stil_ie.css" type="text/css" rel="stylesheet" />
<![endif]-->

Eftersom det är bara IE som har [if] tolken.

Medlem sedan juli 20013 378 inlägg
#3

J07 skrev:

<!--[if IE]>
	   <link href="stil_ie.css" type="text/css" rel="stylesheet" />
<![endif]-->
<![if !IE]>
      <link href="stil.css" type="text/css" rel="stylesheet" />
<![endif]>

Detta bör fungera enligt mig men i ett ASP.NET projekt säger projektet att det inte är tillåtet i IE 6 men det borde väl fungera även där?

Hmm..

Det borde, som sagt, fungera även i IE6 eftersom villkorliga kommentarer infördes i IE5.

... och den sista "villkorssatsen" funkar faktiskt som den står ;) eftersom IE förstår även den andra uppsättningen "villkorstaggar" (trots att de har en annan syntax än de första).
"Övriga webbläsare" tolkar helt enkelt den första stilmallslänken som bortkommenterad (syntaxen är gjord sådan), samtidigt som den andra "exponeras" för läsning tack vare sin "avvikande" syntax (dvs tack vare att "de övrigas" felhantering ignorerat den för dem "okända" andra uppsättningen villkorstaggar)...

Däremot skulle jag nog vilja rekommendera dig att försöka köra med en variant av metoden som voigtann tipsade om ifall du är i det läget att du kan skriva om din CSS - eftersom det i regel blir mindre jobb att först "göra rätt" mot FireFox, IE8 (i standards mode) m.fl och sedan lägga på undantag för IE7, och kanske i värsta fall även för IE6 typ såhär:

<link href="stil.css" type="text/css" rel="stylesheet" />
<!--[if lte IE 7]>
<link href="stilkompletteringar_ie7.css" type="text/css" rel="stylesheet" />
<![endif]-->
<!--[if lte IE 6]>
<link href="stilkompletteringar_ie6.css" type="text/css" rel="stylesheet" />
<![endif]-->

Du kommer *långt* med den principen (iallafall gör jag det :) ) - och den funkar utmärkt i ASP.NET-projekt också ;)

300 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
167 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
166 ms — ändringar (db)