如果浏览器是IE浏览器应用CSS规则
可能重复:
我如何在IE中做IE条件?
如何才能将以下规则应用于IE?
.abc { float:left; height:0; margin:0 10px; width:0; /*Apply these rules for IE only*/ position:absolute; left:30; top:-10; /*Apply these rules for IE only*/ }
在IE9之前的浏览器中,这是通过条件注释完成的。
<!--[if IE]> <style type="text/css"> IE specific CSS rules go here </style> <![endif]-->
避免加载多个CSS文件或内联CSS的好方法是根据Internet Explorer的版本将类传递给body标签。 如果你只需要一般IE黑客,你可以做这样的事情,但它可以扩展为特定于版本:
<!--[if IE ]><body class="ie"><![endif]--> <!--[if !IE]>--><body><!--<![endif]-->
现在在你的css代码中,你可以简单地做:
.ie .abc { position:absolute; left:30; top:-10; }
这也可以保持你的CSS文件有效,因为你不必使用肮脏的(和无效的)CSS黑客。
一个快速的方法是根据你想要的焦点(检查注释),在你的css文件(其中margin-top,设置你喜欢的任何css属性)中使用以下内容:
margin-top: 10px\9; /*It will apply to all ie from 8 and below */ *margin-top: 10px; /*It will apply to ie 7 and below */ _margin-top: 10px; /*It will apply to ie 6 and below*/
更好的方法是检查用户代理或条件,以避免在其他浏览器中加载不必要的CSS。
如前所述,我更喜欢为ie规则使用单独的文件。
<!--[if IE]><link rel="stylesheet" type="text/css" href="ie-style.css"/><![endif]-->
在它里面,你可以使用这个设置不同版本的规则:
.abc {...} /* ALL MSIE */ *html *.abc {...} /* MSIE 6 */ *:first-child+html .abc {...} /* MSIE 7 */
- 在IE中仿真/填充history.pushstate()
- dynamic加载CSS样式表在IE上不起作用
- 在Internet Explorer中'脚本'标记的'onload'处理程序
- 为什么IE使密码框小于文本框?
- 如何强制Internet Explorer在标准模式下呈现,而不是在怪癖?
- “X-UA-Compatible”content =“IE = 9; IE = 8; IE = 7; IE = EDGE”
- 从现有网站select性地复制HTML + CSS + JS的工具
- 当附加查询string参数或使用POST不是一个选项时,如何避免Internet Explorer 11中的AJAXcaching
- 什么错误缩放:1; 修复CSS?