是否有任何 CSS hack 仅检测 Android 浏览器来编写 CSS?不是所有的 WebKit 浏览器——我想为 iPhone 和 Android 浏览器上的某些元素编写不同的 CSS。
例如http://paulirish.com/2009/browser-specific-css-hacks/
我想要一个适用于 Android 浏览器的 CSS hack。
是否有任何 CSS hack 仅检测 Android 浏览器来编写 CSS?不是所有的 WebKit 浏览器——我想为 iPhone 和 Android 浏览器上的某些元素编写不同的 CSS。
例如http://paulirish.com/2009/browser-specific-css-hacks/
我想要一个适用于 Android 浏览器的 CSS hack。
您引用的 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 等)中进行检测让它将样式标签回显到您的来源。
当前的最佳实践是使用特征检测而不是浏览器/操作系统检测。有一个名为Modernizr的 JavaScript 库可能会有所帮助。我相信它还有一些技巧可以让非 CSS3 浏览器处理一些新的 CSS3 标签,例如header
和footer
.