0

有没有办法根据用户的浏览器使用不同的代码?例如,如果用户使用的是 Internet Explorer,是否有某种方法可以传递与用户使用 Chrome 不同的代码?

谢谢!

4

4 回答 4

3

是的,有办法做到这一点。请查看条件评论:

http://www.quirksmode.org/css/condcom.html

和 CSS 黑客

http://www.quirksmode.org/css/csshacks.html

于 2012-08-08T14:26:23.373 回答
2

在大多数情况下,优选的方法是使用特征检测,即确定是否支持/不支持某个特征并采取相应措施。像Modernizr这样的库可以帮助检测功能并消除一些差异。

例如,检测“触摸”功能比查找移动浏览器用户代理字符串或版本要好得多。

实际上,对于特定于 IE 的问题使用条件注释通常是最容易的,因为 IE 支持它们,并且通常可以按浏览器版本对相关问题进行分组(与其他更容易特征检测的场景相比)。换句话说,在处理 Internet Explorer 时,您通常可以说“为所有 IE X 用户应用这些 hacks/fixes”。

IE 10 中删除了对条件注释的支持。

于 2012-08-08T14:30:19.813 回答
1

如果你想针对 IE

<!--[if IE]> -->
 <link rel="stylesheet" href="css/style.css"/>
<!--[endif]-->

您可以通过以下命令在主 css 文件中使用简单的命令来定位 firefox:

  @-moz-document url-prefix() { 
  }
于 2012-08-08T18:38:29.600 回答
0

当然。http://en.wikipedia.org/wiki/Conditional_comment

于 2012-08-08T14:26:41.907 回答