Gibt es eine Möglichkeit, einige CSS-Regeln nur für Opera (11) anzuwenden?Machen Sie CSS nur für Opera 11?
Antwort
Ich liebe Herausforderungen!
Es dauerte einige Zeit, aber ich fand es schließlich:
body {background:0} /* default */
@media not screen and (1) {
body {background:red} /* OP 11 */
}
@media not screen and (orientation) {
body {background:green} /* for the earlier versions of Opera that pick the first media query's rule + chrome/safari */
}
Browsern getestet:
- rot: Opera 11
- grün: Opera 10 und 10,5 + WebKit-Browser
- none: Opera 9.26 + Firefox 3.6 + IE9
Es ist verwandt mit der error-handling und auch die Tatsache, dass NOT das globale Ergebnis negiert (WebKit-Browser werten die Ausrichtung nicht korrekt ohne einen gültigen Wert aus). Da orientation
in Presto 2.7 unterstützt wird, lautet die zweite Medienabfrage FALSE.
Die falsche Ausrichtung Hack klingt wie ein guter Name für mich.
könnten Sie versuchen, http://www.headjs.com/
+1 Gut finden! Dies wird für die Vorwärtskompatibilität nützlich sein. – jmort253
mit ich weiß nicht, von einer CSS-only Art und Weise, wie Opera 11 noch sehr neu ist.
Sie können entweder serverseitige Sprachen wie PHP die User Agent
des Browsers zu erkennen, oder Sie können die frei verfügbaren Javascript Lösung CSS Browser Selector verwenden.
Die obige Lösung enthält noch nicht Opera 11, also lassen Sie uns Opera 11 User Agent String überprüfen, indem Sie ihre references überprüfen. (Eigentlich haben sie ihre eigenen Artikel über how to detect opera)
Opera/9.80 (Windows NT 5.1; U; en) Presto/2.7.39 Version/11,00
Wenn Sie nun einen Blick auf die Javascript von Der oben erwähnte CSS-Browser-Selektor ist nur navigator.userAgent
zu lesen und mit vielen Variationen zu vergleichen - fügen Sie einfach Ihre Opera 11-Variante hinzu und Sie können loslegen (oder warten, bis der Entwickler das Javascript aktualisiert - oder noch besser, update) das Skript und erzähle dem Autor davon!).
Gibt es einen guten Grund, dies zu tun?
Ich würde immer empfehlen, Browser-Erkennung zu tun. In fast allen Fällen, in denen Benutzer sie verwenden möchten, ist es besser, die Funktionserkennung zu verwenden. Wenn Sie herausfinden, ob die gewünschte Funktion unterstützt wird, werden Sie automatisch neue Versionen anderer Browser unterstützen, wenn diese auf den neuesten Stand gebracht werden, ohne ständig Ihre Website auf dem neuesten Stand zu halten, wie dies bei Browsererkennungsskripten der Fall ist.
Für Feature-Erkennung, eines der besten Tools, die ich vorschlagen kann, ist die Verwendung Modernizr.
Für Browser-Erkennung - vor allem Marke einen neuen Browser wie Opera11 - kann ich wirklich nichts vorschlagen, das idiotensicher ist. Die richtige Antwort ist, sich die User Agent-Zeichenfolge anzuschauen, aber diese kann vom Benutzer leicht geändert werden, um einen anderen Browser zu fälschen (und oft, besonders von Opera-Benutzern, da diese am häufigsten versuchen, Seiten zu umgehen, die dies tun) Browser-Erkennung und versuchen, sie)
Das ist definitiv ein guter Punkt, und ich stimme dir zu .. aber ich versuche, Javascript so viel wie möglich zu vermeiden .. und ich bin neugierig, wenn jemand einen Hack für die Opera 11 gefunden haben, noch – Tomkay
Hier gehen Sie ......
/* Opera */
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0)
{
here you can display anything you want just for opera
}
autsch! Hacky, Hacky, Hacky. Aber ich nehme an, wenn du * wirklich * es tun musst ....: -s – Spudley
Die folgenden Stil in der Tat nur in Opera gemacht bekommen würde zu blockieren. Siehe Webmonkeys Blog-Post für Details:
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {
#myid { background-color: #F00; }
}
Aber bedenken Sie, dass alle Art von CSS-Hacks nicht mehr in der Zukunft funktionieren könnte. Also ich würde Ihnen dringend empfehlen, die Stile nur für Opera dynamisch mit jQuery (jQuery.browser) hinzuzufügen.
Eine andere Antwort gab den gleichen Code schon. aber ich gebe Ihnen den Punkt, den Verweis auf den Blog aufzunehmen. Ich hoffe wirklich, dass ich nie eine Website sehe, die tatsächlich diesen Hack benutzt. : -s – Spudley
Als ich auf Antwort geklickt habe und es geschrieben habe, war die Antwort von mir nicht genau das, was ich schreiben wollte. Ich habe gesehen, dass es ein Duplikat ist, aber ich entschied mich, es nur als Referenz zu belassen. –
Die read-only
Pseudo-Klasse ist ein einfacher Filter für Opera:
#foo:read-only { overflow: auto; }
- 1. CSS Hack für Opera Mini nur
- 2. "Versteckt" CSS-Datei funktioniert nur für FF, Opera
- 3. Opera 10 unterstützt html5 Audio-Tag aber Opera 11?
- 4. Brauchen Sie CSS nur für Chrom
- 5. Praktiken zur Optimierung von Css für Opera-Mini Browser
- 6. Css ändert keine Textfarbe in Opera
- 7. HTML/CSS: Machen Sie ein div "unsichtbar" für Klicks?
- 8. Machen Sie PHP-Code in CSS-Datei?
- 9. CSS - Karte größer machen, als sie ist
- 10. CSS nur für Safari anwenden?
- 11. Opera SDK Entwicklung
- 12. So ändern Sie die Schriftgröße für Safari und Opera, aber nicht in der CSS-Datei.
- 13. machen spezifischen CSS-Code für IE10
- 14. Machen Sie schmale Zeichen mit CSS
- 15. CSS - Machen Sie ein div "anklickbar"
- 16. Machen Sie Bild auf Link Hover Css
- 17. Machen Sie nur Teil eines div ziehbaren
- 18. Wie kann ich unbegrenzt fließenden Hintergrund mit nur CSS machen?
- 19. Rails HTML-Ansicht, zielen Sie ein Element und machen Sie es nur für eine Ansicht unsichtbar.
- 20. WPF Datagrid: Machen Sie Zellen nur lesbar
- 21. Deaktivieren Sie eine CSS nur für ein Layout yii2
- 22. CSS negative Text-Einzug in Listen - Kugel Probleme mit Opera
- 23. Qt erfordert C++ 11-Unterstützung“Fehler machen
- 24. CSS Sprites - nicht nur für Hintergrundbilder?
- 25. SVG als CSS-Hintergrund, Probleme mit der Zoomstufe in Opera
- 26. Autotools check für C++ 11
- 27. CSS: Wie man Kinder fit Eltern Breite machen
- 28. Horizontale Bildlaufleiste in Opera (11.0)
- 29. Opera Mini postmessage
- 30. Text unten in Opera
Herr. Sie sind offiziell (und ich gebe Ihnen wirklich eine Garantie) FANTASTISCH. – Tomkay
Wie könnte jemand Hack so finden? : -o –
Funktioniert das für Oper 12? –