我需要创建一个在ipad上看起来不同的页面。我之前从未这样做过,所以我有几个问题:
1)如何让页面知道在ipad上查看它以获得CSS用途?
2)如果页面上的某些内容对于ipad不同,我如何使用php来了解正在加载页面的设备(因为这不能用css完成)?
答案 0 :(得分:2)
我首先回答你的第二个问题。检测服务器端代码中特定设备类型的唯一方法是通过用户代理解析。在PHP中,您可以使用strpos()
函数执行此操作,如果第一个字符串参数未包含在第一个字符串参数中,则返回FALSE
。例如:
$userAgent = $_SERVER['HTTP_USER_AGENT'];
if (strpos($userAgent, 'iPad') !== FALSE) {
// load iPad-specific content
} else {
// load content for other devices
}
要回答您的第一个问题,无法使用CSS检测仅 iPad。您可以使用媒体查询来定位1024x768显示,但这些将适用于具有该分辨率的任何屏幕(不仅仅是iPad)。如果要应用特定于iPad的CSS样式,请使用上述PHP代码加载唯一的样式表。
但是,应该指出的是,设备检测通常是一种不好的做法,因为它不会考虑更改浏览器功能,市场趋势或用户代理欺骗。在大多数情况下,CSS media queries为支持各种设备提供了更强大,更前瞻性的方法。为什么?因为它们的目标是设备类型,而不是特定的模型。这意味着您的网站今天可以在iPad,Android和Windows平板电脑上正常运行,明年无论热门的新xyz设备能否进入市场(无需更改代码)。
答案 1 :(得分:0)
http://css-tricks.com/snippets/css/ipad-specific-css/
http://thomasmaier.me/blog/2010/03/04/howto-css-for-the-ipad/
http://matthewjamestaylor.com/blog/ipad-layout-with-landscape-portrait-modes
这可能会对你的文章写得很好......
答案 2 :(得分:-1)
使用媒体查询隐藏/显示/更改不同设备的内容。