Comment faire en CSS uniquement visibles pour l'Opéra
Est-il un moyen de faire quelques règles CSS visible seulement pour Opera 9.5 +)?
- quelle est la raison pour laquelle vous voulez faire cela? comme plusieurs personnes l'ont souligné, ce n'est généralement pas la meilleure façon d'aller sur la résolution CSS (par exemple exceptées), si nous avons compris que le problème sous-jacent était que nous pourrions être en mesure de proposer quelque chose de plus approprié
- Est-ce encore à travailler pour l'Opéra de 12?
- Je me rends compte votre question a été de près de 4 ans, mais juste pour répondre à la question, une raison pour cela est dans le cas de bug référencé ici: my.opera.com/community/forums/topic.dml?id=1436202 où certaines versions d'Opera 12 brouille les polices si quelqu'un de la police de la bibliothèque est foiré. Oui c'est un incident rare, mais mon client au hasard découvert. Aléatoire des éléments de texte semblait confuse et je ne pouvais pas juste dire "Oh, eh bien certains Opera les utilisateurs devront mettre en place avec elle".
Vous devez vous connecter pour publier un commentaire.
Ce hack fonctionne pour le dernier Opéra:
Il ne touche pas à n'importe quel autre navigateur autant que j'ai testé, mais cela peut être réelle pour plusieurs mois, avec des technologies web boom etc.
fonctionne très bien pour Opera 10.63
Pur CSS hack vous risquez de ne pas sécuritaire de la limite supérieure de la version que vous voulez de piratage (par exemple
-o-prefocus
peut être soutenu longtemps après votre hack cesse de fixer les choses et commence à casser).et en CSS:
Mais veuillez double-vérifier CSS en premier pour s'assurer que ce que vous êtes le piratage est en fait un bug. Opera 10 a plein de CSS2.1 prise en charge et passe tous les tests, donc si quelque chose ne semble pas droit, cela peut être dû à d'autres raisons (erreur quelque part ailleurs dans le code, de détail ou d'angle cas, vous ne devriez pas compter sur l', etc.)
Ne pense pas que "détecter l'Opéra".
Penser à "détecter les navigateurs qui ne prennent pas en charge la fonctionnalité de x". Par exemple, ce JavaScript-ci permet de détecter les navigateurs qui prennent en charge moz-border-radius:
et c'est l'équivalent pour WebKit navigateurs (Safari, Chrome):
Mettre qu'ensemble, nous pouvons arriver à quelque chose comme
CSS:
Mise en garde: non testé :-p
box-shadow
à l'Opéra de 10,53 a encore quelques problèmes relatifs au rafraîchissement. Je vois pas d'autre moyen que de les cacher de l'Opéra dans ce cas. Faites-vous?Opera12
Vous pouvez utiliser Modernizr ( http://www.modernizr.com/ ) pour détecter les fonctionnalités CSS que vous souhaitez utiliser – il applique les noms de classe à l'élément de corps de sorte que vous pouvez construire votre CSS en conséquence.
J'ai écrit un jQuery $.une extension de l'assistance pour la détection de la propriété css soutien.
http://gist.github.com/556448
De plus, j'ai écrit un petit extrait de code pour le rendre vraiment peu vendeur hacks:
Cela se traduit par exemple dans:
Dans vos feuilles de style utiliser de cette façon:
La seule façon que je peux penser à est de vérifier l'agent de l'utilisateur et référence uniquement à la feuille de style quand il s'agit d'un opéra navigateur. Depuis l'agent de l'utilisateur peut être sali avec ce pourrait ne pas être fiable à 100%.
Vous pouvez utiliser javascript pour écrire un
<link>
pour inclure un fichier CSS.Pour Opera 7, vous pouvez utiliser ceci:
Cependant, il est généralement une mauvaise pratique de faire style basé sur un navigateur en reniflant.
exemple ici
<link href="opera.css" type="text/opera" media="all" />
Si cette solution est plutôt un CSS hack et il n'y a aucune garantie qu'il sera pris en charge dans les versions à venir de l'Opéra. Vous pouvez également envisager d'utiliser la solution suivante:
@media all and (-webkit-min-device-pixel-ratio:10000),not all and (-webkit-min-device-pixel-ratio:0) {
.element{/*style for opera only*/}
}
http://bookmarks-online.net/link/1308/css-including-style-for-opera-only
Pas, de toute façon je le recommande.
Vérifier Javascript ou PHP navigateur renifleurs sur Google. Certains peuvent être tellement obsolète que vous avez besoin pour ajouter de détection pour Opera 9.5+, cependant.
Navigateur renifleurs (pour le style) sont généralement d'une mauvaise pratique.
Notez également que, Opera 9.5+ donne aux utilisateurs la possibilité de masquer leur navigateur comme IE, rendu toute sorte de reniflement inutile.
Edit: Comme vous pouvez le voir dans une autre réponse, il n'y a
window.opera.version()
. Je ne connaissais pas lewindow.opera
objet contenu cette information. TOUTEFOIS, vous devriez probablement regarder pour voir si cet objet est toujours disponible lorsque quelqu'un a mis de l'Opéra à être considéré comme internet explorer ou un autre navigateur.window.opera
variable? Si non, la détection doit toujours être possible via JavaScript, au moins.window.opera
objet est la seule chose à faire, vous ne pouvez pas différencier entre Opera 9.5+ et les versions antérieures. Le demandeur a cité Opera 9.5+ précisément donc je ne sais pas si il se SOUCIE uniquement de 9.5+ ou si il doit spécifiquement à la cible de 9,5+. D'éditer ma réponse.window.opera.version()
... Montre combien je me soucie de l'Opéra. 🙂@certainlyakey travaille incroyable pour moi:
@media all and (-webkit-min-device-pixel-ratio:10000), pas tous et (-webkit-min-device-pixel-ratio:0) {
#id {règle css}
}
J'ai une page avec un bouton, et le texte ne s'affichent pas correctement dans l'Opéra. Le bouton apparaît à de nombreuses reprises (ajouter au panier). Après avoir appliqué ce correctif, il a parfaitement fonctionné.