3

もちろん、現在持っている要素が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;
}
4

5 に答える 5

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 に答える
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 に答える
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;  
    } 

これで、すべてのブラウザーの左マージンは問題の要素で20ピクセルになりますが、IE7、IE8、およびIE0の左マージンはそれぞれ10ピクセル、15ピクセル、および10ピクセルになります。

于 2013-03-05T05:23:40.493 に答える
0

position:absolute も使用しているのに、なぜ margin-left を使用しているのですか? ポジションアブソリュートを使用する場合、マージンの望ましい効果を得ることはできません (しかし、それはここでの実際の問題ではありません)。

絶対位置を使用する場合は、少なくとも上/下と左/右の位置で構成される要素のデフォルトの基準点を常に定義する必要があります。この場合、top:0; 左:110px; (これは、絶対配置された要素が position:relative; 親コンテナー内にあると想定しています)。

表示したいものを実際に定義してブラウザに伝えるのではなく、表示したいものをブラウザが想定できるようにしています.CSSで構築するすべてのもので必ずこれを行う必要があります.

絶対配置を使用して要素を配置する場所を厳密に定義しないと、IE (特に lt IE9) で問題が発生します。

于 2013-03-05T08:31:23.047 に答える