3

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

通常,我会通过添加来做我的 IE hack \9;,例如:

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;
}
4

5 回答 5

1

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

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

<!--[if lt IE 10]>
    <style type="text/css">
        .thing {
            margin-left: 10px;
        }
    </style>
<![endif]-->
于 2013-03-05T04:40:53.463 回答
1

发现是

 writing-mode:tb-rl;

IE 不喜欢。

这个网站很有用:

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

于 2013-03-05T06:50:15.130 回答
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。

于 2016-08-07T16:16:57.010 回答
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。

于 2013-03-05T05:23:40.493 回答
0

当您还使用 position:absolute 时,为什么要使用 margin-left?使用绝对位置时,您永远不会获得所需的边距效果(但这不是这里的实际问题)。

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

您允许浏览器假设您想要显示的内容,而不是实际定义和告诉浏览器您想要显示的内容 - 您应该对您在 CSS 中构建的所有内容都执行此操作。

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

于 2013-03-05T08:31:23.047 回答