CSS - 设置<div> s与“position:absolute”不相互重叠</div>

时间:2013-04-05 09:15:25

标签: css select html absolute

我有一个包含n列的表。每列都有一个预定义的宽度,在每列 th 中,有一个 div 包含实际的标题文本,而 div 包含一个下拉列表菜单。

这是表格的简化结构:

<table>
    <tr>
        <th>
            <div>TEXT</div>
            <div><select>...</select></div>
        </th>
    <tr>
    ...
    ...
</table>

列的预定义宽度可能导致文本在多行中分割。当发生这种情况时,显然 th 内的元素会重新排列其位置,从而导致列选择错误。

我需要做的是找到让每个选择彼此对齐的方法,可能锚定在 th 的底部。

http://jsfiddle.net/SezSZ/2/&lt; - 这里我举了一个我正在做的事情的例子。

第二张表显示没有任何样式的表格(宽度除外):注意第一个和第二个选择之间的错位。

相反,第一个表格应用了一些样式。正如你所看到的,第二列文本与select重叠。我试着用“position”属性来解决这个问题。我怎么能告诉文本占用尽可能多的空间,而不知道有多少它会被拆分为?

另一个(次要的)事情:我想设置每个选择以获得其父div的100%宽度,但是(表1)下拉菜单右侧与表边框重叠( 1或2 px,而在表2中一切正常)..

提前感谢您提供任何帮助,我希望我能够清楚,最好的问候

1 个答案:

答案 0 :(得分:2)

我相信这JSFiddle就是你所追求的,对吧?完整的诀窍是在vertical-align: middle上使用th