我有一个当前有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;
}
答案 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)
答案 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)。