0

この内部の任意の要素のスタイルでa を指定するheightと、IE は幅を「自動サイズ」に保つのではなく、全体を 100% 幅にします。

他のブラウザでは問題なく表示されますが、IE では表示されません。これを修正するにはどうすればよいですか?

<div style="position:absolute;top:50px;left:50px;background:green;">
 <div>
  <div>test</div>
  <div style="height: 20px;">this makes it 100% width in IE.  why?</div>
 </div>
</div>

ありがとう!

4

2 に答える 2

1

ここにあなたのために働くかもしれない何かがあります. 少しハックですが、テキストの適切な幅を見つけようとしている場合、これは私が知っている JavaScript 以外の唯一の方法です。基本的に、線が途切れないようにすることで幅を強制しています。<br/>改行が必要な場合は s を入れることができます。

<div style="position:absolute;top:50px;left:50px;background:green;width:0px">
 <div>
  <div>test</div>
  <div style="height:50px; white-space:nowrap">This is normally sized in IE6</div>
 </div>
</div>

考え直して、リンクをチェックしないでください。古いもので、宣伝どおりには機能しません。

古い答え:

http://snippets.dzone.com/posts/show/216

絶対配置されていない DIV は、コンテナを水平方向に埋めるように自動的に拡張されると思います。この div にはコンテナー サイズを指定していないため、展開されてページ全体が表示されます。

Firefoxがdivを展開しないのは奇妙だと思います...どちらが実際に「正しい」かわかりません。

于 2009-01-26T20:05:21.187 に答える
0

推測では、IE6 の hasLayout バグと関係があると思います。私の提案: 1. 含まれる div (絶対配置のもの) に幅を設定します。2. 達成しようとしていることの例を投稿してください。あなたが望むことを行うための、よりオールブラウザフレンドリーな方法を提案できるかもしれません.

于 2009-01-27T15:27:13.213 に答える