-2

ページに 2 つの DIV があります。それらの1つは、何らかの条件に基づいてdisplay:noneに設定されています。IE10、Firefox、Chrome で問題なく動作します。ただし、IE8、IE9、および IE10 互換表示では機能しません。その結果、両方の DIV が表示されます。誰かがこの問題を解決するために何をすべきかを提案できますか?

<div id="dv1" style="background: url(http://abc.com/images/green.gif) no-repeat scroll 0px 0px transparent; height: 26px; width: 171px; display: none;"></div>


<div id="dv2" style="background:url(http://abc.com/images/red.gif) no-repeat scroll 0 0 transparent;height:26px; width:142px; padding-left:18px;padding-right:11px;"/>
4

4 に答える 4

3

</div>両方の divを入れるのを忘れました。

以下のようなものが欲しいと思います。

<div id="dv1" style="background: url(http://abc.com/images/green.gif) no-repeat scroll 0px 0px transparent; height: 26px; width: 171px; display: none;"></div>

<div id="dv2" style="background:url(http://abc.com/images/red.gif) no-repeat scroll 0 0 transparent;height:26px; width:142px; padding-left:18px;padding-right:11px;"></div>

デモを確認してください。すべてのブラウザで正常に動作します。

于 2013-07-04T05:06:31.847 に答える
0

両方の DIV を非表示にする場合、HTML マークアップはそのようにするdiv2必要があります。div1

<div id="dv1" style="background: url(http://abc.com/images/green.gif) no-repeat scroll 0px 0px transparent; height: 26px; width: 171px; display: none;">
    <!-- div1 content -->    
    <div id="dv2" style="background:url(http://abc.com/images/red.gif) no-repeat scroll 0 0 transparent;height:26px; width:142px; padding-left:18px;padding-right:11px;">
        <!-- div2 content -->
    </div>
</div>
于 2013-07-04T05:06:49.660 に答える
0

インライン スタイルの代わりに CSS を使用する

<html>
  <head>
    <style>
     .dv1 {
       background: url(http://abc.com/images/green.gif) no-repeat scroll 0px 0px transparent; 
       height: 26px; 
       width: 171px; 
       display: none;
     }
     .dv2 {
       background:url(http://abc.com/images/red.gif) no-repeat scroll 0 0 transparent;
       height:26px; 
       width:142px; 
       padding-left:18px;
       padding-right:11px;
     }
    </style>
  </head>
  <body> 
    <div id="dv1"></div>
    <div id="dv2"></div>
  </body>
</html>
于 2013-07-04T05:10:03.343 に答える