2010-04-20 18 views
20

Estoy tratando de usar una regla de medios para dirigir CSS a iPad solamente. Quiero excluir iPhone/iPod y navegadores de escritorio. Me gustaría también excluir otros dispositivos móviles si es posible.¿Cómo apuntar a CSS para iPad pero excluir el escritorio de Safari 4 usando una consulta de medios?

he utilizado

<style type="text/css" media="only screen and (min-device-width: 768px) and (max-device-width: 1024px)"> 

pero acaba de descubrir que el escritorio de Safari 4 lee. He tratado con variaciones "481px" en lugar de "768px" y otro que se suma a una orientación que:

<style type="text/css" media="only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait)"> 

pero no hubo suerte. (Más tarde estaremos oliendo las cadenas de usuario-agente para iPad, pero por ahora esa solución no funcionará).

¡Gracias!

Actualización: parece que Safari de escritorio utiliza el ancho y alto de la pantalla en este momento y se da una orientación de retrato u horizontal en función de eso. No parece que los anchos y las alturas excluyan los navegadores de escritorio (a menos que me falta algo).

http://mislav.uniqpath.com/2010/04/targeted-css/

+0

Este artículo puede ayudar: http://www.sitepoint.com/blogs/2010/04/20/identify-apple-iphone-ipod-ipad-visitors/ –

Respuesta

42
media="only screen and (device-width: 768px)" 

Gracias a Mislav Marohnić por la respuesta!

Esto funciona para iPad en cualquier orientación y parece excluir Safari de escritorio.

Cuando estaba probando (min-device-width: 768px) and (max-device-width: 1024px) Pude ver Safari 4 usando los estilos o ignorándolos al ensanchar o estrechar la ventana. Al probar (device-width: 768px) Intenté que el navegador Safari de escritorio tuviera exactamente 786 px de ancho, pero nunca pude ver los estilos.

+0

Eso es un truco muy inteligente. No olvides aceptar una respuesta. (¿Puedes aceptar el tuyo?) –

+4

Encontré un caso en el que el CSS se ignora cuando la página se encuentra dentro de la vista web de una aplicación. Esto podría ser un caso marginal o no, no sé. La vista web tenía un tamaño codificado y le daba el uso de iPhone a pesar de que era un iPad. –

4

puedo usar PHP para hacer eso. Aíslo la forma de placa de la cadena USER_AGENT. Entonces solo tengo que usar un if($plateform == 'iPad') {.....} ¡Así de fácil!

+2

Puede ser útil publicar todo tu código. –

+1

Acepto, verificando si el agente del navegador contiene "ipad" en el lado del servidor, entonces incluir la hoja de estilo especificada es la forma más precisa de orientar un iPad. La solución marcada como respuesta afectará a todos los dispositivos. – Americus

Cuestiones relacionadas