仅为ipad加载css文件

时间:2011-02-02 22:23:28

标签: css ipad orientation stylesheet

我试图仅为ipad加载css文件。我试过这个:

<link href="/css/ipad.css" rel="stylesheet" media="all and (max-device-width: 1024px)" type="text/css">

它适用于iPad,但如果我在桌面上将分辨率降低到1024 x 768并在firefox中查看该网站,那么ipad样式表也会加载。所以我试过了:

<link href="/css/ipad.css" rel="stylesheet" media="all and (max-device-width: 1024px) and (orientation:landscape)" type="text/css">

但仍然是同样的问题。如果他们在iPad上查看页面,我怎样才能确保只加载这个样式表?

4 个答案:

答案 0 :(得分:4)

自: http://css-tricks.com/snippets/css/ipad-specific-css/

这对我来说效果更好。

@media only screen and (device-width: 768px) {

/ *适用于一般的iPad布局* / }

@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {

/ *仅适用于纵向布局* / }

@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape) {

/ *仅适用于横向布局* / }

答案 1 :(得分:1)

您使用的是哪种技术?如果您可以控制要渲染的内容(服务器端)到页面,则可以检查请求中的USER-AGENT标头。如果它包含字符串iPad,则渲染出css标记,否则,不包括它。

如果您只是提供静态HTML,这将无效。

答案 2 :(得分:0)

答案 3 :(得分:0)

由于许多不同的屏幕尺寸和分辨率,我无法仅针对此问题使用媒体查询。

我已在所有项目中加入http://www.modernizr.com/,因此我可以使用组合。 Modernizr将在启用触摸的设备上添加一类.touch。我建议尝试使用.touch来确定它不是PC,然后是媒体查询来缩小它的移动设备范围。