在IE7中绝对定位输入元素



我在使用div 时遇到了一些问题position: absolute IE7 将其显示在输入旁边,但在普通浏览器中,它显示在输入下方。 我该如何解决?我正在使用一些我无法修改的第三方 javascript,所以我无法在 inputdiv 之间插入任何内容。

<div style="position: relative" id="header">qwe</div>
  <div style="position: relative">
    <table style="background: red; position: relative">     
      <tr>
         <td>      
            <input type="text" style="width:200px; " value="a date here" />        
            <div style="position:absolute; width: 300px; height: 300px; background: #eeeeee;"> 
              [a calendar here]       
            </div>        
         </td>  
      </tr>
      <tr>
        <td> 
         [text/inputs/buttons behind the calendar]
        </td>
      </tr>
    </table>
  </div>

这只是我为这个问题做的一个例子。 我确实有位置:在我的代码中的几个元素上设置相对,无论如何在 IE7 中失败。"在它下面"意味着它应该是日历,在单击它以让用户轻松选择某个日期后显示在该输入下。

编辑:返工示例

编辑:[问题解决者 - 链接已删除] - 单击右侧的"Zapytanie i rezerwacja",然后单击"Folwark Zamkowy"。 您可以在该表单中找到这些日历输入。 包含日历<a>块是在从javascript输入后立即添加的。

更新:我仍然不遵循您的代码。我不知道你为什么要这样做(为什么要使用表格?),但你需要在absolute:position后有top:和/或left:(或右或下)。

例如:style="position:absolute; top:5px; left: 5px;"

另外,摆脱float:left.我不知道那在那里做什么(!


更新更新:如果您只想让文本显示在日历后面,那么您需要绝对定位您的表格。

你试过float:left;吗?也许缺少浮动是问题所在。但IE7本身就是一个问题。

最新更新