有没有CSS黑客检测到只有Android浏览器写CSS?不是所有的WebKit浏览器 - 我想为iPhone和Android浏览器上的某些元素编写不同的CSS。有没有什么办法可以检测出只有CSS的Android浏览器?
例如http://paulirish.com/2009/browser-specific-css-hacks/
我想针对Android的浏览器CSS破解。
有没有CSS黑客检测到只有Android浏览器写CSS?不是所有的WebKit浏览器 - 我想为iPhone和Android浏览器上的某些元素编写不同的CSS。有没有什么办法可以检测出只有CSS的Android浏览器?
例如http://paulirish.com/2009/browser-specific-css-hacks/
我想针对Android的浏览器CSS破解。
您引用的CSS黑客攻击利用了CSS中的缺陷以针对特定的浏览器(通常用黑客来获取一些与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等)中执行检测并让它将风格标签回传给您的来源。
我会避免,亲自。从长远来看,浏览器检测总是很麻烦。这就是为什么我们已经进入了媒体查询之类的问题,以寻求浏览器的特性,而不是“这是哪种浏览器?” – Parrots 2011-04-24 15:25:05
CSS不是为了处理这种东西而设计的。 – BoltClock 2011-04-24 15:26:04
有一些特定于Android的怪癖,例如[涉及“自动适应网页”功能的呈现问题](http://stackoverflow.com/questions/8508889/android-autofit-mode-causing-issues-with-css-宽度在-网页)。针对Android浏览器的一些规则(如no-op背景图像:解决该问题的方法)将非常有用。 – supervacuo 2012-11-04 18:21:45