CSS:IE 9破解剩余边距? \ 9;没有效果

时间:2013-03-05 04:35:29

标签: css internet-explorer cross-browser internet-explorer-9

我有一个当前有margin-left: -110px的元素,当然除了IE之外,它适用于我在所有浏览器中的设计。使用IE,我需要将其设为margin-left: 10px

通常,我会通过添加\9;来执行我的IE浏览,例如:

margin-left: 10px\9;

但它似乎不适用于边距。有没有人知道如何实现这一目标?非常感谢!

<div id="nav">
  <ul>
    <li id="newstab">News</li>
    <li id="offerstab">Offers</li>
    <li id="specialsstab">Specials</li>
  </ul>
</div>

#nav {
    position:absolute;
    margin-left: -110px;
margin-left: 10px\9;
    margin-top: 160px;
    writing-mode:tb-rl;
    -webkit-transform:rotate(90deg);
    -moz-transform:rotate(90deg);
    -o-transform: rotate(90deg);
    white-space:nowrap;
}

5 个答案:

答案 0 :(得分:1)

如果确实需要,可以使用IE条件块:

<link href="style.css" rel="stylesheet" />

<!--[if lt IE 10]>
    <style type="text/css">
        .thing {
            margin-left: 10px;
        }
    </style>
<![endif]-->

答案 1 :(得分:1)

发现它是

 writing-mode:tb-rl;

IE不喜欢。

这个网站很有用:

http://www.useragentman.com/IETransformsTranslator/

答案 2 :(得分:1)

.class {
     text-align:right;

     @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {

     margin-left: 30px

     }
     margin-left: 90px;
 }

您可以为IE编写特定的css,然后为其他浏览器覆盖其他css。

答案 3 :(得分:0)

你可以这样使用

<!--[if lte IE 7]> <html class="ie7"> <![endif]-->  
<!--[if IE 8]>     <html class="ie8"> <![endif]-->  
<!--[if IE 9]>     <html class="ie9"> <![endif]-->  
<!--[if !IE]><!--> <html>             <!--<![endif]-->

然后在你的CSS中,你会像这样定位IE7,IE8或IE9:

   .element {  
        margin-left: 20px;  
    }  

    .ie7 .element {  
        margin-left: 10px;  
    }  

    .ie8 .element {  
        margin-left: 15px;  
    }  
    .ie9 .element {  
        margin-left: 10px;  
    } 

现在每个浏览器的元素左边距为20px,但IE7,IE8和IE0的左边距分别为10px,15px和10px。

答案 4 :(得分:0)

当你还使用position:absolute时,为什么使用margin-left? 使用绝对位置时,您将无法获得所需的保证金效果(但这不是实际问题)。

使用绝对位置时,应始终定义元素默认基准点,至少包括顶部/底部和左/右位置 - 在您的情况下,顶部:0;左:110px; (这是假设绝对定位元素位于某个位置:相对;父容器)。

您允许浏览器假设您想要显示的内容,而不是实际定义并告诉浏览器您要显示的内容 - 您应该在使用CSS构建的所有内容中做到这一点。

在没有严格定义您希望元素使用绝对定位的位置时,您在IE中遇到麻烦(尤其是lt IE9)。