3 Stimmen

Wie legen Sie eine CSS-Eigenschaft fest, die nur angewendet werden soll, wenn der Browser IE im Stylesheet ist?

Ich weiß, dass Sie eine browserspezifische css-Datei folgendermaßen einbinden können

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

Aber gibt es eine Möglichkeit, dies im eigentlichen Stylesheet selbst zu tun?

EDITAR

Vielen Dank für die Antworten, ich bin gerade dabei, ein neues IE-spezifisches Stylesheet zu erstellen und zu überschreiben, was ich dort brauche. Ich denke, dies ist wahrscheinlich der beste Weg, Dinge zu tun.

2voto

eckberg Punkte 66

Lesen Sie diesen Beitrag, scrollen Sie nach unten zu Hacks:

http://www.dezinerfolio.com/2009/02/20/css-standards-best-practices

2voto

Nico Burns Punkte 16099

Ja, das stimmt.

Es wird nicht validiert, aber wenn Sie _ vor dem Eigenschaftsnamen so div {width: 200px;_width: 100px;} hinzufügen, wird 200px breit in nicht-IE-Browsern und 100px in IE.

2voto

Jon Erickson Punkte 107332

Ich habe beschlossen, dass die Erstellung eines separaten Stylesheets und die Verwendung der IF-Kommentaranweisung die beste Lösung ist. Hält die Stylesheets sauber und es ist offensichtlicher für andere, was Sie tun (Überschreiben von Eigenschaften aufgrund von Browser-Macken).

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

1voto

scunliffe Punkte 60080

Diese Arbeiten...

.foo{
  border:1px solid #000;
  *border:3px dotted #00f;/*IE6 & IE7 Only*/
  _border:2px dashed #f00;/*IE6 Only*/
}

Das Ergebnis lautet also:

  • W3C-Browser (Firefox, Safari, Opera, usw.)
    • 1px solid black border
  • IE7
    • 3px gepunkteter blauer Rand
  • IE6
    • 2px gestrichelter roter Rand

Als letzten Ausweg (und nicht sehr empfehlenswert) können Sie die dynamischen Eigenschaften verwenden, indem Sie expression() verwenden und dann auf die Browserversion testen (falls Sie das interessiert)

0voto

Sie können dazu auch das Flag !important verwenden, aber das kann unbeabsichtigte Nebenwirkungen haben.

Click Me I'm !important

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X