IE条件评论不起作用

时间:2014-03-01 19:39:48

标签: css internet-explorer margin conditional-comments

我正在使用IE(Internet Explorer)条件评论修复IE上的保证金问题,但由于某些原因它无法正常工作,我无法修复它。

CSS代码(嵌入在条件注释中):

<!--[if IE]>
   <style>
.right_header_form{
    float: right;
    margin: -360px 50px 0;
    width: 240px;
    height: auto;
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
    line-height: 21px;
    padding: 0px;
    background-color: #444;
    color: #FFF;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    padding: 10px 15px;
}
.right_form {
    float: right;
    margin: -320px 50px 0;
    width: 240px;
    height: auto;
    background-color: #F5F5F5;
    color: #666;
    margin-bottom: 20px;
    padding: 15px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}
  </style>
<![endif]-->

我所有其他浏览器的原始CSS代码:

.right_header_form{
    float: right;
    margin: -390px 50px 0;
    width: 240px;
    height: auto;
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
    line-height: 21px;
    padding: 0px;
    background-color: #444;
    color: #FFF;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    padding: 10px 15px;
}
.right_form {
    float: right;
    margin: -350px 50px 0;
    width: 240px;
    height: auto;
    background-color: #F5F5F5;
    color: #666;
    margin-bottom: 20px;
    padding: 15px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

如您所见,每个代码与另一个代码之间的差距不同。正如我所说,它不起作用,但似乎代码是有效的。

问:如何仅使用条件注释更改IE的CSS代码?

3 个答案:

答案 0 :(得分:0)

    <!--[if IE]>
        <style>
            .right_header_form{
                margin: 20px 0 0;
            }
            .right_form {
                margin: 20px 0 0;
            }
        </style>
    <![endif]-->
    <link rel="stylesheet" href="css/style.css" type="text/css" />

从mediafire检查你的PHP代码。
你的IE样式被覆盖,因为IE条件是代码中的第一个。应该是第一个style.css。 CSS优先。

应该是:

    <link rel="stylesheet" href="css/style.css" type="text/css" />
    <!--[if IE]>
        <style>
            .right_header_form{
                margin: 20px 0 0;
            }
            .right_form {
                margin: 20px 0 0;
            }
        </style>
    <![endif]-->

答案 1 :(得分:0)

问题是

margin: -390px 50px 0;

基本上,您认为.main_form的高度为390px,因此您.right_header_form向上390px

那很糟糕。

在编写页面之前,您必须考虑好的设计。

在这种情况下,制作两列并将它们放在另一列浮动第一列旁边(可选择第二列)。并将标题放在每列中。

答案 2 :(得分:0)

请注意,条件注释仅适用于INTERNET EXPLORER 9和LOWER,从IE10开始更大,它已被禁用。

我建议您将IE CSS放在另一个名为iestyle.css的css文件中,并将其命名为:

<!--[if IE]>
  <link rel=”stylesheet” type=”text/css” href=”iestyle.css”/>
<![endif]-->

这必须起作用,

祝你好运。

PS:ALSO

您可以在HTML中使用条件注释,将不同的CSS类或ID应用于可以使用CSS定位的元素。

像这样的东西:

<!--[if IE]>
  <div id="content" class="ie">
<![endif]-->
<!--[if !IE]>
  <div id="content">
<![endif]-->

这对IE的作用是什么,它增加了你在CSS中指定的类“ie”,当它不是IE !IE时,它不会添加该类。