Gibt es eine Möglichkeit, browserspezifische bedingte CSS in einer * .css-Datei auszuführen?

8

Gibt es eine Möglichkeit, browserspezifisches bedingtes CSS in einer * .css-Datei auszuführen? Ich möchte alle Stile innerhalb der gleichen physischen Datei definieren.

    
craigmoliver 12.03.2009, 18:56
quelle

8 Antworten

6

Es gibt eine Möglichkeit, dies im IE zu tun, indem Sie Bugs im Browser und @import ausnutzen. Die beste Methode, die ich gesehen habe, ist hier , mit freundlicher Genehmigung von Bobince (und schlug definitiv meine Antwort, heh).

Im Allgemeinen, aber nein. Sogar bedingte Kommentare sind Browser-spezifisch für IE.

    
Daniel Lew 12.03.2009, 19:11
quelle
5

Ich habe daran für viele, vor allem aktuelle Browser gearbeitet - die meisten Versionen von Firefox, Webkit und Versionen von Internet Explorer. In letzter Zeit können Versionen von Safari und Chrome getrennt werden. Einige davon habe ich auf browserhacks.com gestellt.

Es ist immer am besten, mit dem besten CSS zu beginnen, das Sie zuerst machen können, aber diese sind verfügbar, wenn Ihre Zeit knapp ist und etwas gebraucht wird ... gestern.

Zur Zeit ist Internet Explorer Version 11, Safari ist Version 8, Firefox ist bis zu 36 in Entwicklungs- / Aurora-Versionen und Chrome ist bis zu 41 in Entwicklungs- / Canary-Versionen zum Zeitpunkt dieser Veröffentlichung.

>

Diese sind sehr spezifisch, wenn sie durch das Entfernen von Teilen verändert werden, werden sie nicht richtig funktionieren.

Um eine beliebige Version von Firefox zu erreichen [NICHT auf iOS! Siehe unten]:

%Vor%

So erkennen Sie neue Chrome-Versionen:

(DAS IST NICHT FÜR Chrome auf iOS !!! --- Die Entwickler haben die Safari-Engine auf iPads und iPhones anstelle von Chromium oder Mozilla verwendet - also verwenden Sie stattdessen den Safari-Hack für iOS-Versionen dieser Browser)

%Vor%

Wenn Sie möchten, können Sie Chrome auch etwas weiter hinten mit einem Kombinations-Hack ansprechen, den ich ausgearbeitet habe (das ist ein seltsames CSS, aber es funktioniert - kopieren Sie es genau so, wie Sie es hier sehen):

%Vor%

Das Erkennen neuer Versionen von Safari war genauso schwierig wie das von Chrome, bei dem ein verschachteltes Paar von Medienabfragen verwendet wurde:

%Vor%

Safari wurde Ende März 2017 aktualisiert, also funktioniert dieses für 10.1:

%Vor%

Für Versionen (7.1 und höher) können Sie dieses verwenden:

%Vor%

Um neuere Versionen von Internet Explorer zu erreichen:

%Vor%

Dies sind die Grundlagen, aber um mehr meiner Kreationen zu sehen, um viele verschiedene Browserversionen zu erreichen, siehe mein Blog:

Ссылка

oder meine Live-CSS-Hack-Testseiten:

Ссылка SPIEGEL: Ссылка

Viel Spaß!

    
Jeff Clayton 20.12.2014 06:44
quelle
4

Sie können diese clevere Javascript-Datei verwenden, CSS Browser Selector: Ссылка

ermöglicht es Ihnen, bestimmte Browser unter Verwendung von Klassennamen wie zB

zu targetieren %Vor%     
Ara_Abc 14.03.2009 02:32
quelle
3

Nur mit Hilfe von Hacks. Bedingte Kommentare sind nur für die Markup-Dateien definiert, nicht für die .CSS-Dateien.

    
AaronSieb 12.03.2009 19:00
quelle
1

Nein. Der ganze Zweck der Verwendung von CSS-Dateien besteht darin, dass jede Datei einen bestimmten Stil darstellt. Wenn Sie Skripte schreiben wollen, sollten Sie PHP oder etwas ähnliches verwenden, CSS ist lediglich eine Beschreibung eines einzelnen Stils.

    
Malcolm 12.03.2009 19:13
quelle
0

Ich bin mir nicht sicher, wie ich das genau machen könnte. Wir setzen die CSS-Datei basierend auf dem Browser des Benutzers in Codebehind.

    
Jeremy Cron 12.03.2009 19:00
quelle
0

Es gibt mehrere Hacks (siehe etwas veraltete Tabelle als Beispiel)

Und es gibt serverseitige Lösungen wie conditional-css für PHP

Aber gut geschriebene, gut strukturierte CSS sollte nicht so viele Hacks brauchen, nur das gelegentliche ie fix.

    
spiral 13.03.2009 11:20
quelle
0

Ich glaube nicht, dass es einen besseren CSS-Browser-Selektor als den oben erwähnten von Rafael Lima gibt, also werde ich den Link hier nicht hinzufügen oder Beispiele, die in demselben Post sind und von Rafael Limas Seite genommen wurden.

>

Der Nachteil ist, dass es nur außerhalb des CSS-Selektors verwendet werden kann und nicht auf bestimmte CSS-Zeilen abzielt, aber es ist robuster als Standardmethoden und einfacher zu lesen.

    
Brad Elfman 06.11.2014 11:27
quelle

Tags und Links