2012-10-02 46 views
0

我有两个元素;输入字段和div - 一个接一个。 Div绝对定位在相关元素内并位于输入的右侧。垂直对齐绝对定位div

输入具有固定高度,但div的高度取决于内容。

我想实现的是中间垂直对齐div旁边的输入。我不确定这是否是纯CSS,因此我添加了javascript标记。

HTML:

<td> 
<input type="text"/> 
<div id="rel" style='position:relative;'> 
<div id="content"> 
content 
</div> 
</div> 
</td> 

CSS:

#content { 

position:absolute; 
left:30px; 

} 

... 
+0

不知道如果我理解正确的话,那么你的意思是这样的:http://jsfiddle.net/pt2BL/ –

+1

你有什么'div'在'table'里面做?如果你想要一个纯粹的CSS布局,除了显示和制表数据外,你不会使用'table'。 – Sparky

+0

我同意​​标记很奇怪。你有选择修改你的标记吗? – chipcullen

回答

1

只需使用

td input { 
    vertical-align:middle; 
} 

好你已经有一个表,vertical centering via CSS是不容易的。

顺便说一句:与其两个div和绝对定位,你可以使用margin-left: -30px;