714 Stimmen

Nur Firefox mit CSS anvisieren

Mit Hilfe von bedingten Kommentaren ist es einfach, den Internet Explorer mit browserspezifischen CSS-Regeln anzusprechen:

<!--[if IE 6]>
...include IE6-specific stylesheet here...
<![endif]-->

Manchmal ist es die Gecko-Engine (Firefox), die sich daneben benimmt. Was wäre der beste Weg, um nur Firefox mit Ihren CSS-Regeln anzusprechen und nicht einen einzigen anderen Browser? Das heißt, dass nicht nur der Internet Explorer die nur für Firefox geltenden Regeln ignorieren sollte, sondern auch WebKit und Opera.

Ich bin auf der Suche nach einer 'sauberen' Lösung. Die Verwendung eines JavaScript-Browser-Sniffers, um eine "Firefox"-Klasse zu meinem HTML hinzuzufügen, ist meiner Meinung nach nicht sauber. Ich würde lieber etwas sehen, das von den Fähigkeiten des Browsers abhängt, so wie bedingte Kommentare nur für den IE "speziell" sind

2voto

NVRM Punkte 8487

CSS-Unterstützung kann von JavaScript aus verwendet werden.

if (CSS.supports("( -moz-user-select:unset )")) {
    console.log("FIREFOX!!!")
}

https://developer.mozilla.org/en-US/docs/Web/CSS/Mozilla_Extensions

1voto

Kailas Punkte 6908

Der folgende Code neigt dazu, Style-Lint-Warnungen auszulösen:

@-moz-document url-prefix() {
    h1 {
        color: red;
    }
}

Stattdessen werden

@-moz-document url-prefix('') {
    h1 {
        color: red;
    }
}

Hat mir geholfen! Ich habe die Lösung für die Stil-Fussel-Warnung von aquí

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