No more css hacks

Agregar a favoritos

13 Comentarios

Posteado hace 1661 días en:

Veo en stylegala y cssbeauty un articulo para poder incluir estilos según el navegador del usuario, para ello usa PHP y el USER_AGENT.

Ya decía yo que la idea de averiguar el navegador era interesante para usarlo con CSS.
Aunque el articulo me parece fenomenal tiene un gran inconveniente, y es que hace falta saber PHP para aplicar estilos según el navegador.

Aunque CSScompiler no tiene soporte para el OS creo que mi idea de la pseudoclase es mucho mas amigable que andar jugando con código.
Como mi ingles es pésimo y tampoco tengo traducido CSScompiler no puedo escribir un comentario, pero no estaría nada mal que probasen el script.

Método stylegala:


body

{ background: url(<?php if ($o "WIN" && $b “IE” && $v < 6) echo “background.gif”; else echo “background.png”; ?>); }

Método CSScompiler:


body { background: url(background.png); }
body:ie6, body:ie5.5, body:ie5 { background: url(background.gif); }


  • avatar

    DarkSoldi#1 hace 1661 días

    interesante… y si, el uso de una pseudoclase es mucho mas amigable XD

  • avatar

    NEO_JP#2 hace 1660 días

    Es buena idea, pero estamos obligados siempre al PHP.
    Yo habia hecho eso antes con JS, pero bueno.

    Al menos con PHP se mantiene la estructura, con JS no siempre.

    Saludos y gracias por mostrarme la idea!

  • avatar

    corsaria#3 hace 1660 días

    Mmm interesante… por cierto Ice… te ha tocado. :P

  • avatar

    BenKo#4 hace 1660 días

    Yo me ofrezco de traductora, si quieres :P

  • avatar

    sosa#5 hace 1660 días

    iba a decir que te ayudaba a traduci pero se me han adelantado… pero hay que hacer que sepa el mundo que tambien en español se hacen cosas buenas :D

  • avatar

    CesarS#6 hace 1660 días

    Cierto, el método de pseudo clases es mas comodo

    Saludos

  • ¿No surgirá algún problema con los navegadores que pueden emular el user agent de otros navegadores? Por ejemplo, Opera, o Firefox con la extensión User Agent Switcher…

  • avatar

    Federico#8 hace 1660 días

    Me ganaron en el comentario de arriba. Y te aclaro que el spoofing en Opera es perfecto.
    Por cierto, ¿tu ejemplo último está al reves o me parece? Porque me parece raro que quieras enviar un PNG a Internet Explorer.

  • avatar

    IceBeat#9 hace 1660 días

    NEO_JP con JS podemos estar un poco mas limitados pero con PHP al ejecutarse en el servidor no hay tantos problemas.

    Muchas gracias Benko y Sosa, mi ingles es pesimo :S, yo le se lo comente a otras personas pero claro tambien tienen que hacer cosas, es logico.

    Es muy probable que si se manipula el USER_AGENT los hacks se apliquen mal.
    Federico tienes razon, es que malinterprete el ejemplo, porque mandaba el gif a todos los IE antiguos menos al 6.

  • avatar

    traductor#10 hace 1660 días

    2 cosas:

    1. Cualquier lenguaje del lado del servidor es capaz de decirte que valor contiene la cabecera HTTP_USER_AGENT. Por lo tanto, PHP no es indispensable.

    2. Es un error hacer programaciones distintas para navegadores distintos. En Internet, existen bastantes más de 2 navegadores y, además, los navegadores tienen versiones.

  • avatar

    Federico#11 hace 1659 días

    Sobre el comentario de traductor: Y sí. Es medio exagerado andar detectando todos y cada uno. Supongo que, en general, con detectar a cualquier cosa igual o menor a IE6 debería ser suficiente.

  • avatar

    IceBeat#12 hace 1659 días

    Traductor: nadie dice que PHP sea indispensable, pero si es mejor que usar JS.
    En internet existen muchos navegadores pero los demas son derivados, lo que se intenta es subsanar los errores de interpretación, hablamos de CSS no de otro lenguaje.

    Federico: CSScompiler recopila 4 navegadores y solo para IE saca la version.

    Nosotros no tenemos culpa de esos errores, ojala se pudiese escribir codigo sin tener en cuenta el navegador.

  • avatar

    Chavalina#13 hace 1659 días

    Pronto podremos hacerlo… eso quisiera yo!

    Una vez hice algo parecido con PHP, aunque no así exactamente, sino que cargaba hojas de estilo diferentes según el navegador.

    Pero ahora me parece, como a vosotros, que es exagerado ir detectando los navegadores, y que además flaco favor nos estamos haciendo, que son los navegadores los que deben adaptarse a los estándares y no al revés.

    Yo al menos desde este experimento con varias hojas de estilo, dejé de diseñar para un navegador u otro, aunque intento siempre que se vea lo más parecido posible :(