¿Hay alguna manera de hacer que algunas reglas CSS se apliquen solo para Opera (11)?¿Cómo aplicar CSS solo para Opera 11?
Respuesta
¡Me encantan los desafíos!
Me tomó algún tiempo, pero finalmente lo encontré:
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 */
}
navegadores probados:
- roja: Opera 11
- verde: Opera 10 y 10.5 + WebKit navegadores
- ninguno: Opera 9.26 + Firefox 3.6 + IE9
Está relacionado con error-handling y también el hecho de que NO niega el resultado global (los navegadores WebKit no evalúan la orientación correctamente sin un valor válido). Como el orientation
es compatible con la versión 2.7, la segunda consulta de medios es FALSE.
El truco de orientación falsa me suena como un buen nombre.
Usted podría tratar de usar http://www.headjs.com/
+1 buen descubrimiento! Esto será útil para la compatibilidad con versiones anteriores. – jmort253
No sé de una manera CSS-sólo como Opera 11 es todavía muy nueva.
Puede utilizar lenguajes del lado del servidor como PHP para detectar la User Agent
del navegador o puede utilizar la solución Javascript libremente disponibles CSS Browser Selector.
La solución anterior aún no incluye Opera 11, así que vamos a consultar la cadena del agente de usuario de Opera 11 marcando references. (En realidad tienen su propio artículo sobre how to detect opera)
Opera/9.80 (Windows NT 5.1; U; en) Presto/7.2.39 Version/11,00
Cuando Ahora mira el Javascript de el selector de navegador CSS mencionado anteriormente puede ver que acaba de leer el navigator.userAgent
y compararlo con muchas variaciones: simplemente agregue su variación de Opera 11 y ya está listo (o espere hasta que el desarrollador actualice el javascript o, mejor aún, actualice el guion y cuéntaselo al autor!).
¿Hay una buena razón por la que desea hacer esto?
Siempre recomendaría no hacer la detección del navegador. En casi todos los casos donde la gente quiere usarlo, es una mejor idea usar la detección de características en su lugar. Si descubres si la característica que deseas es compatible, entonces comenzarás a admitir automáticamente nuevas versiones de otros navegadores cuando se pongan al día, sin tener que trabajar constantemente para mantener tu sitio actualizado como lo harías con las secuencias de comandos de detección del navegador.
Para la detección de características, una de las mejores herramientas que puedo sugerir es usar Modernizr.
Para la detección del navegador, especialmente marca un nuevo navegador como Opera11, no puedo sugerir nada que sea infalible. La respuesta correcta es mirar la cadena del agente de usuario, pero el usuario puede cambiarla fácilmente para hacer una parodia de otro navegador (y a menudo lo es, especialmente por los usuarios de Opera, ya que son los que más frecuentemente intentan evitar los sitios que lo hacen). la detección del navegador y tratar de bloquearlos)
Definitivamente es un buen punto, y estoy de acuerdo ... pero trato de evitar Javascript tanto como sea posible ... y me da curiosidad si alguien ha encontrado un truco para el Opera 11 pero – Tomkay
Aquí tienes ......
/* 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
}
¡ay! hacky, hacky, hacky. Pero supongo que si * realmente * necesitas hacerlo ...: -s – Spudley
El siguiente estilo serían solamente de hecho consiguen dictada en Opera. Ver Webmonkeys entrada de blog para más detalles:
@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) {
#myid { background-color: #F00; }
}
Pero hay que tener en cuenta, que todo tipo de hacks CSS podría no trabajar más en el futuro. Así que le recomiendo que agregue los estilos dinámicos solo para Opera con jQuery (jQuery.browser).
Otra respuesta ya dio el mismo código. pero te doy el punto de incluir la referencia en el blog. Realmente espero que nunca vea un sitio que realmente use este truco. : -s – Spudley
Cuando hice clic en responder y lo escribí, la respuesta de the_ no era exactamente como lo que quería escribir. He visto que es un duplicado, pero decidí dejarlo solo para la referencia. –
La pseudo-clase read-only
es un filtro simple para Opera:
#foo:read-only { overflow: auto; }
- 1. ¿Aplicar CSS solo para Safari?
- 2. El archivo CSS "oculto" solo funciona para FF, Opera
- 3. Cómo aplicar CSS para examinar el botón
- 4. ¿Cómo aplicar múltiples transformaciones en CSS?
- 5. Aplicar Estilo CSS para elementos secundarios
- 6. Aplicar CSS para jQuery diálogo Botones
- 7. ¿Cómo mostrar solo ciertas partes con CSS para Imprimir?
- 8. La imagen de borde CSS no funciona en Opera
- 9. Opera Dragonfly vs. Firebug
- 10. Aplicar Clase CSS para la imagen en asp: hipervínculo?
- 11. Intellij IDEA 11: ¿cómo puedo compilar .css desde .less?
- 12. ABCpdf - Documento de no aplicar CSS
- 13. ¿Por qué las propiedades CSS tienen diferentes nombres para Chrome, FF, Opera?
- 14. ¿Cómo depurar en Opera Mini?
- 15. cómo aplicar la clase css a la cuadrícula mvccontrib
- 16. ¿Cómo aplicar estilos CSS a la lista desplegable codeigniter?
- 17. CSS: ¿solo desbordamiento horizontal?
- 18. Cómo aplicar CSS personalizados al informe de SSRS
- 19. ¿Hay algún IE8 solo css hackeo?
- 20. ¿Cómo puedo establecer CSS solo para navegadores IE específicos?
- 21. Cómo aplicar tema para seleccionar
- 22. ¿Cómo hacer una hoja de estilo específica de Chrome/Opera?
- 23. Aplicar estilo solo en elementos secundarios en el primer nivel
- 24. Tamaño de fuente demasiado grande en Opera
- 25. ¿Cómo aplicar CSS al elemento del cuerpo HTML?
- 26. Cómo crear y aplicar CSS a javascript Alert
- 27. ¿Cómo puedo aplicar una clase CSS a HtmlTableCell?
- 28. Tipo de medios CSS: cómo cargar CSS para dispositivos móviles?
- 29. ¿Cómo aplicar múltiples operandos a un solo operador?
- 30. Restablecer estilos CSS solo div
Sir. Eres oficialmente (y realmente te doy una garantía sobre esto) IMPRESIONANTE. – Tomkay
¿Cómo podría alguien encontrar hack como este? : -o –
¿Funciona esto para Opera 12? –