3

是否有任何 CSS hack 仅检测 Android 浏览器来编写 CSS?不是所有的 WebKit 浏览器——我想为 iPhone 和 Android 浏览器上的某些元素编写不同的 CSS。

例如http://paulirish.com/2009/browser-specific-css-hacks/

我想要一个适用于 Android 浏览器的 CSS hack。

4

2 回答 2

2

您引用的 CSS hack 利用 CSS 中的错误来针对特定浏览器(通常是 hack 以使某些东西与 IE 6/等旧版浏览器一起工作)。CSS 本身不能进行浏览器检测,尤其是操作系统检测,这正是您要寻找的。

我上面对您的问题的评论(不要这样做!),您可以获取用户代理字符串,它将包含“Android”作为操作系统:

Mozilla/5.0 (Linux; U; Android 1.1; en-gb; dream) AppleWebKit/525.10+ (KHTML, like Gecko) Version/3.0.4 Mobile Safari/523.12.2 – G1 Phone

我不能说这是否 100% 可靠(尽管有理由认为每部 Android 手机都应该这样报告),并且没有什么可以阻止这种情况在未来发生变化。您需要在Javascript中进行此检测并让 JS 为 Android 加载您的自定义 CSS 文件(让它在文档中添加另一个样式标签),或者在您的服务器端编程(ASP/PHP 等)中进行检测让它将样式标签回显到您的来源。

于 2011-04-24T15:34:16.453 回答
-1

当前的最佳实践是使用特征检测而不是浏览器/操作系统检测。有一个名为Modernizr的 JavaScript 库可能会有所帮助。我相信它还有一些技巧可以让非 CSS3 浏览器处理一些新的 CSS3 标签,例如headerfooter.

于 2011-04-24T16:47:37.383 回答