我可以在CSS文件中插入浏览器测试或条件注释吗?

你好 我有一个CSS根据浏览器应用不同的样式,我想在CSS文件本身(不是在HTML或PHP文件中)测试浏览器(如果浏览器不是IE)。 我该怎么做?我应该用这个:
<!--[if !IE]>
<style>
//code
</style>
<![end if]-->
在CSS文件中???     
已邀请:
这些条件注释仅限IE。因此,检查
!IE
不会对其他浏览器做任何事情;) 你可以用Javascript注入CSS。我只是即兴创作,这样的事情可能会做(jQuery):
if( !$.browser.msie ) {
  $("#someLinkElement").attr( "href", "webkit.css" );
}
编辑:现在条件适用于非IE浏览器     
最好将每个浏览器特定代码添加到单独的文件中,并使用与使用相同的条件导入所需的文件,是的,条件将在CSS之外和实际HTML文件中。     
遗憾的是,您可以在CSS中使用条件注释的等效语法。条件注释是Microsoft的HTML扩展,而不是CSS。 但是,您可以使用PHP编写CSS文件,并将PHP作为CSS文件提供。 请注意,用于检测非Internet Explorer的浏览器的条件注释语法是错误的。您需要以下内容:
<!--[if !IE]>-->
<style>
//code
</style>
<!--<![endif]-->
这将隐藏IE的评论之间的代码。     
更好的方法是根据浏览器类型/版本将特定类应用于页面的
<html>
元素。然后,您可以从CSS文件中定位特定的浏览器。 这正是html5样板项目的作用:
<!doctype html>
<!--[if lt IE 7]> 
<html class="no-js ie6 oldie" lang="en">
<![endif]-->
<!--[if IE 7]>
<html class="no-js ie7 oldie" lang="en"> 
<![endif]-->
<!--[if IE 8]>
<html class="no-js ie8 oldie" lang="en">
<![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
现在要专门为IE6编写CSS,您只需将以下内容添加到样式表:
.ie6 .some-div {
    margin: 0;
}
等等等等。     

要回复问题请先登录注册