2009-06-14 19 views
2

Ich habe den folgenden Code, um zu überprüfen, ob der Benutzer IE7 verwendet ... und es muss die .web_info Stil überfahren. Wenn nicht IE7 verwendet den Standard-Stil, wenn es nicht IE ist, wird es die ff_styles.css verwenden. Das scheint nicht zu funktionieren.css bedingte Formatierung

<link rel="stylesheet" type="text/css" href="../styles.css"> 


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

<![if IE 7]> 
<style type="text/css"> 
.web_info 
{ 
left: 450px; 
top: 200px; 
width: 300px; 
height: 60px; 
} 
</style> 
<![endif]> 

Irgendwelche Vorschläge? Dank

Antwort

3

Bedingte Kommentare sind IE spezifisch und daher ist "<![if !IE]>" keine gültige Anweisung für Firefox oder einen anderen Browser. Außerdem würde ich vorschlagen, dass Sie die folgende Syntax versuchen:

<!--[if IE 7]> 
<style type="text/css"> 
.web_info 
{ 
left: 450px; 
top: 200px; 
width: 300px; 
height: 60px; 
} 
</style>  
<![endif]--> 

Eine letzte Anmerkung meinerseits: Da IE7/IE8 meist Standard kompatibel sind, sollten diese CSS-Hacks vermieden werden, wenn möglich.

Update: Dank slosd stehe ich korrigiert! Laut „Supporting IE with conditional comments“ können Sie verwenden, die etwas von IE zu verstecken folgende:

<!--[if !IE]>--> 
do something; IE will ignore this, other browsers parse it 
<!--<![endif]--> 

Es tut uns leid ich verursacht!

Vollarbeitsbeispiel:

<link rel="stylesheet" type="text/css" href="../styles.css"> 

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

<!--[if IE 7]> 
    <style type="text/css"> 
    .web_info{ 
    left: 450px; 
    top: 200px; 
    width: 300px; 
    height: 60px; 
    } 
    </style> 
<![endif]--> 
+0

Danke, also wie würde ich überprüfen, dass es nicht IE ist ... eher als wenn firefox wenn Oper usw. – Elliott

+1

! ist ein gültiger Operator: http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx Sie können es für Stile verwenden, die Sie in jedem Browser außer IE einfügen möchten. – slosd

+0

Danke, hab es :) – Elliott

4

Sollte dies wie nicht aussehen

<!--[if IE 7]> 
.. 
<![endif]--> 

und

<!--[if !IE]> 
... 
<![endif]--> 

Beachten Sie, dass

<!--[if !IE]> 

sollte nie wahr ergeben, da diese Bedingte Kommentare nur von IE interpretiert bekommen.

+2

Der Grund dafür ist, dass für anderen Browser, <- antything -> erscheint als XML/HTML-Kommentar und interpretiert wird, nicht. –

+0

Ich glaube nicht, was er tun will ist, wenn IE nicht so ist, wenn! IE hat Recht –

+0

Danke, aber in Firefox zeigt es immer noch den überschriebenen Stil nicht die ff_styles – Elliott