1

動的に作成された別の div に div を動的に追加しています。IE では要素の右側に表示されますが、他のすべてのブラウザーでは要素の下部に表示されます。FFやChromeのように一番下に表示させたい。助言がありますか?

オートコンプリートは以下で動作します:[ "#Saab", "#Volvo", "#BMW", "#Mini", "#MiniMonster" ]

IEIE ディスプレイ

非IE非 IE ディスプレイ

解決済み:使用していましたdivEl.setAttribute("style", "top:" + top + "px; left:" + left + "px; width:" + width + "px;");

IE に問題がありsetAttributeます。だから私はに切り替えました:

divEl.style.top = top + "px";
divEl.style.width = width + "px";
divEl.style.left = left + "px";
4

2 に答える 2

0

これを試して

.options_text {
  position: relative;
  text-align: center;
}

そして、JavaScriptのレンダリングを次のように変更します。

element.style {
  bottom: -26px;
  display: inline;
  left: 12px;
  visibility: visible;
  width: 286px;
}
于 2013-03-05T17:09:38.570 に答える
0

あなたのケースでは相対位置を使用します。絶対位置は常にウィンドウのサイズやその他の要因の影響を受けるため、jsFiddle からでも間違った場所に表示されることは明らかです (Chrome を使用)。したがって、CSS を次のように変更します。

#matches_tooltip {
    position: relative;
    top: 0;
    left: 0;
    display: none;
    background-color: #FFFFFF;
    border-right-style: solid;
    border-bottom-style: solid;
    border-left-style: solid;
    border-color: #E0E0E0;
    border-width: 1px;
    cursor: pointer;
    text-align: left;
}

http://jsfiddle.net/ruslans/9Hg8a/2/

IE ではテストできませんが、すべてのブラウザーで問題ないはずです。位置属性を設定しないように JavaScript を変更したことに注意してください。

于 2013-03-05T16:59:06.837 に答える