我试图仅为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上查看页面,我怎样才能确保只加载这个样式表?
答案 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)
这个问题可能有所帮助:
Detect iPhone/iPad purely by css
而且:
http://techcline.com/2010/04/cross-browser-issues-detect-ipad-users-through-user-agent-script.html
答案 3 :(得分:0)
由于许多不同的屏幕尺寸和分辨率,我无法仅针对此问题使用媒体查询。
我已在所有项目中加入http://www.modernizr.com/,因此我可以使用组合。 Modernizr将在启用触摸的设备上添加一类.touch。我建议尝试使用.touch来确定它不是PC,然后是媒体查询来缩小它的移动设备范围。