如何在Internet Explorer中应用一个css属性

时间:2010-11-12 15:07:00

标签: css

.sample{
   height:15px;
   width:15px;
   margin:10px;
   padding:10px;
   float:left:

   /* this one apply in ie only */
   border:1px solid #fff;
   /* this one apply in ie only */
}

6 个答案:

答案 0 :(得分:3)

我建议使用完全独立的IE特定样式表来隔离您使用的所有令人讨厌的IE黑客。然后,在HTML中,您可以使用条件注释仅为IE加载该样式表。

HTML

<html>
    <head>
        <!--[if IE]>
            <link rel="stylesheet" type="text/css" href="/css/ie-hacks.css">
        <![endif]-->
    </head>
    <body>
        <!-- ... --->
    </body>
</html>

即-hacks.css

.sample{
   border:1px solid #fff;
}

答案 1 :(得分:2)

在HTML文档的头部使用条件注释。

<!--[if IE 6]>
.sample {border:1px solid #fff;}
<![endif]-->

答案 2 :(得分:1)

查看“条件CSS评论”
http://www.quirksmode.org/css/condcom.html

答案 3 :(得分:1)

您可以在样式声明后添加!ie,例如.sample {border:1px solid #fff !ie;}。这适用于IE 6和7,但在8中不起作用,除非您使用<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" >将其设置为IE7兼容模式(只需确保它出现在CSS之前)。

最干净的解决方案是包含特定于IE的CSS文件。

答案 4 :(得分:0)

如果您需要进行更多更改并保持页面清洁,我建议您为IE使用单独的样式表。

<!--[if IE]>
//place link to IE stylesheet here.
<![endif]-->

然后在IE样式表中进行更改。

答案 5 :(得分:0)

你可以简单地执行以下操作,在它之前给出一些像#左右的字符。 Firefox,Chrome和其他浏览器忽略该行,但IE执行该行。

在你的CSS末尾给出那一行,这样就可以了。大多数开发人员在IE浏览器中使用此黑客进行保证金,填充问题

.sample{
   height:15px;
   width:15px;
   margin:10px;
   padding:10px;
   float:left:

   /* this one apply in ie only */
   border:1px solid #fff;
  # border:2px solid #fff;
   /* this one apply in ie only */ for ie it treats as 2px.
}