IE8 CSS / comboboxのバグ(奇妙なテキスト表示)
-
05-07-2019 - |
質問
このバグを特定しようとしています。これはすでに既知の問題ですか、それともまったく新しいものですか?回避策(zoom:1またはposition:relativeを追加して修正することはできますか?)、ここでhtmlを変更せずに追加するのが理想的です。
IE8で以下のhtmlを表示すると、選択(コンボボックス)からのテキストが2回表示されます。コンボボックスの外側の1つ。これは私のドキュメントの流れを台無しにしています(奇妙に見えることは言うまでもありません)。
<html><body>
<div style="width: 800px;">
<div style="float: right" >
</div>
<div style="display: none">
ijklmno
</div>
<div style="float:left">
<select>
<option>abcdef</option>
</select>
<div style="float: right">
</div>
</div>
</div>
</body></html>
解決
これは間違いなくバグです。これは、レイアウトスタイルの規則がかなり明確だからです。しかし、それはそもそも本当に奇妙なアレンジメントでもあります。非表示のdivを再表示するか、テキストを追加するか、選択の下のdivを非表示にすると、問題はなくなります。私の一番の推測は、1つの非表示と1つの空のブロックレベル要素が重複しているため、IEはフロートを無視して互いの上に合わせようとしていますが、オプションを強制的に押し下げていますが、選択はそのままですselect内のオプションも表示されます。
非常に奇妙で非常にクールなキャッチ。私が見ているオプションは、最後のdivにコンテンツを追加するか(おそらく改行なしスペース)、divを非表示にする(表示:なし)、またはその両方です。
Firefoxでは、その最後のdivも右に浮いておらず、選択とオーバーラップしています(開発者ツールバーでブロックレベルの要素を概説することでわかります)。 。
最後のdivに境界線を設定すると、メインdivの右側に浮いていないことがわかります。
所属していません StackOverflow