2012-07-13 37 views
5

¿Alguien sabe un buen truco moderno de CSS para apuntar solo al safari móvil en iPhone y iPod Touch?Mobile Safari en iPhone/iPod CSS hack

Sigo viendo @media screen and (max-device-width: 480px), pero eso es desde hace 3 años y ahora coincide con Nexus S entre otros.

(Esto es para corregir un problema de diseño sutil. Soy consciente de browser sniffing es el mal, etc.)

Respuesta

8

http://cssuseragent.org y bienvenidos al lado oscuro.

+0

Gracias, voy a morder la bala y usar esto, ya que no será la última vez que necesito un hack de CSS aquí. – mahemoff

+0

+1 para publicar una solución similar a Modernizr para los piratas de agente de usuario, que será (probablemente) actualizada/mantenida, y no fallará de un día para otro ... como todos los demás probablemente podrían/​​serán. – benzkji

3

Usted puede utilizar only screen and (-webkit-min-device-pixel-ratio: 2)

+2

objetivos de una También mi Nexus 4 con Chrome –

0

única manera de dirigirse a dispositivos específicos en la web es comprobar las cadenas de agente de usuario . Todos los dispositivos Apple tienen su nombre en la cadena del agente de usuario. p.ej. iphone tendrá "iphone" e ipod tendrá "ipod". Use esto para aplicar dinámicamente o cargar css.

1

También puede solicitar -webkit-min-device-pixel-ratio: 2. No creo que existan navegadores que reporten más de 2 en este momento (aunque algunos informan que son más bajos, por lo tanto, use una relación mínima). Sin embargo, esto excluye los dispositivos iPod Touch 3GS y no retina. Para ellos, tendrías que hacer un poco de sniffing de agente de usuario.

0

Si sólo tiene que dirigirse a Safari en los móviles, basta con añadir una consulta de medios a este truco:

@media screen and (max-width: 767px) { 
    _::-webkit-full-page-media, _:future, :root .safari_only { 
     padding: 10px; //or any property you need 
    } 
} 

Y no se olvide de añadir la clase .safari_only al elemento que desea orientar , ejemplo:

<div class='safari_only'> This div will have a padding:10px in a mobile with Safari </div> 

un detalle: esto va a afectar también el navegador Safari en dispositivos Android, pero ... de todos modos que utilizan Safari en un dispositivo Android :)

Cuestiones relacionadas