选择将根据使用者显示的样式表的最佳方法是什么?
示例,我想为Android显示一个css样式,为iPhone显示另一个样式。
提前致谢
答案 0 :(得分:2)
使用Internet Explorer,您可以使用条件注释(http://msdn.microsoft.com/en-us/library/ms537512.aspx)在特定浏览器中包含样式表。此技术在其他浏览器中不起作用,我相信它在最新版本的Internet Explorer中不起作用。
据我所知,实现这一目标的唯一方法是使用Javascript。最简单的方法是使用基于用户代理字符串的Javascript将类添加到页面的HTML标记(即" .android"或" .iphone")。在CSS中,只需在样式表中引用.android或.iphone即可专门针对其中一个。
但是,最好的方法是尽可能避免进行特定的浏览器检测。特征检测是首选方法(http://www.joezimjs.com/javascript/feature-detection-vs-browser-detection/)。这是一个例外,因为您的意图是根据设备使用不同的主题。
查看isMobile Javascript库(https://github.com/kaimallea/isMobile)以轻松检测Apple或Android设备。只要样式表对于每个主题都不是很大,我建议将Android和Apple样式表合并为一个。比使用带有一点自定义Javascript的isMobile库将必要的CSS类添加到HTML标记中。