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

在您的情况下,我会使用相对定位,因为绝对定位总是会受到窗口大小和其他因素的影响,即使从您的 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 回答
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 回答