Wie füge ich eine css-Zeile NUR für Safari hinzu?

7

Ich erstelle eine Website, aber ein Element benötigt eine Marge in Chrome und anderen Browsern, aber nicht in Safari. Also ich möchte eine CSS-Zeile hinzufügen, um es zu beheben, aber ich kann keine Methode zum Hinzufügen von CSS nur für Safari 3+ finden.

    
Johan 14.07.2013, 08:46
quelle

6 Antworten

5

Dies ist nicht möglich, da Sie dieselbe Eigenschaft auch auf Chrome anwenden würden. Als Chrome und Safari verwenden beide das -webkit-Präfix.

Aber du könntest das in PHP machen.

%Vor%

Ersetzen Sie safari.css durch ein eigenes Stylesheet. Dankeschön an @theorise

    
Abu 14.07.2013, 09:00
quelle
11

Ich glaube, das sollte funktionieren

Geige: Ссылка

%Vor%

Hier ist der Link zur Erkennung der Browserversion Ссылка

    
user2580076 14.07.2013 09:00
quelle
7

Integrierte jQuery-Lösung:

%Vor%

Pure JS integrierte Lösung:

%Vor%     
Krab 14.07.2013 08:59
quelle
4

In Safari 9.0+ kannst du es jetzt in CSS mit diesem netten Hack machen. Sie benötigen keinen JS-Code. Ich habe es getan und es funktioniert gut für mich. Benutze diesen Hack:

%Vor%

Der Grund dafür ist: Safari 9.0 und höher haben Feature-Erkennung. Wenn Sie also eine Funktion entdecken, die ausschließlich für Safari gedacht ist, können Sie Safari erkennen. Überlauf: -webkit-marquee und justify-content: erben sind ausschließlich für Safari. Deshalb können wir Safari mit diesem einfachen CSS-Hack erkennen.

    
Iman Sedighi 30.10.2015 04:21
quelle
1

Anstatt mehr Code hinzuzufügen, um Ihr Problem zu beheben, können Sie versuchen, alle Ränder und Abstände der umgebenden Elemente zuerst auf 0 zurückzusetzen, bevor Sie sie ändern, da die Standardränder unterschiedlich sind. Das könnte dein Problem lösen.

Es ist völlig eine persönliche Vorliebe, aber ich starte alle meine Webseiten mit:

%Vor%

Ich hatte noch nie Probleme mit Cross-Browsern in Bezug auf Ränder oder Abstände.

    
user2477011 14.07.2013 09:01
quelle
0

Es gibt eine ähnliche Frage auf der CSS-Tricks Forum . Aber die Antwort ist im Grunde, nein. Sie könnten versuchen, User-Agent serverseitig oder mit JavaScript zu schnüffeln und dann eine Klasse zum html hinzuzufügen (wie für alte IE-Versionen in HTML5 BoilerPlate).

Hoffe, das hilft.

- geschlagen von den Jungs oben und unten!

    
Watters 14.07.2013 09:00
quelle

Tags und Links