Ich weiß, dass Sie in Internet Explorer bedingte Anweisungen zum Laden verschiedener CSS-Dateien einfügen können, aber können Sie dies in einer CSS-Datei tun?
Ich habe eine Situation, in der ich möchte, dass der rechte Rand 20 ist, wenn es Internet Explorer ist, aber 10, wenn es ein anderer Browser ist.
Der einfachste Weg, dies zu handhaben, sind Bedingungen in Ihrem HTML, die ein div mit einer bestimmten ID um den Rest der Seite legen.
%Vor%Dann kann Ihr CSS dies tun:
%Vor%Diese Art von macht alle diese CSS-Hacks unnötig.
Es gibt keine offizielle bedingte Kommentarsyntax für CSS. Es gibt nur bedingte HTML- und JavaScript-Kommentare, also sollten Sie mit diesen kreativ werden ( John Fisher zeigt einen Weg).
Sie könnten bedingtes CSS mit den sehr bekannten CSS-Hacks emulieren, aber das möchte ich nicht. Sie könnten bei jeder beliebigen IE-Version unerwartet brechen oder anderweitig arbeiten, da Hacks Fehler in der CSS-Behandlung des IE ausnutzen sollen.
Sie werden Ihre CSS-Dateien, die diese Art von Hacks machen, in Unordnung bringen. Erstellen Sie lieber eine separate Datei für IE. Setzen Sie den Rand in Ihrer allgemeinen CSS-Datei auf 10 und in Ihrer IE-spezifischen Datei auf 20, die (bedingt) nach Ihrer allgemeinen CSS-Datei geladen werden sollte. Sie wissen, wie man das macht und es gibt kaum einen Grund, es anders zu machen.
Tags und Links internet-explorer css conditional-comments