【发布时间】:2014-10-31 11:00:22
【问题描述】:
下表方法正确居中 div 并且 div 的大小与内容的大小匹配:
<table>
<tbody>
<tr>
<td width='50%'></td>
<td>
<div>
<input type='text' name='linksearch' size='40'/>
<a href=''>Search</a>
</div>
</td>
<td width='50%'></td>
</tr>
</tbody>
</table>
仅使用 div 元素的等效 CSS 是什么?我看到很多答案,例如:
div.center {
margin-left: auto;
margin-right: auto;
}
但是当使用这种方法时,我不清楚如何使 div 的宽度增大或缩小以匹配 div 的内容。我可以指定一个明确的宽度,但即便如此,内容也会向右溢出,因此它不是真正居中的(您可以通过设置 div 的背景颜色清楚地看到这一点)。
那么 table 方法是否仍然更好,或者有没有办法只使用 CSS 来做到这一点?
更新:
根据要求,下面是一个说明问题的示例:
http://jsfiddle.net/qn0txere/3/
第一个“表格方法”按预期工作。第二个 'margin: 0 auto' 方法并没有真正起作用,因为 div 不会收缩内容。内容向右溢出。
【问题讨论】:
-
您希望“搜索”字样位于输入下方还是紧邻输入?
-
您在寻找类似的东西吗? jsfiddle.net/qn0txere
-
@BuddhistBeast 不,text-align: center 仅使文本居中,而不是 div。
-
那么你可以添加margin: 0 auto;以“居中 div”。我不明白您要完成什么 - 您能否提供一个内容向右溢出的示例?
-
老实说,听起来您确切地知道自己要完成的工作...而且由于您对块级元素的处理非常好,并且在 text-align 上使用边距,我认为您应该读这个:stackoverflow.com/questions/83073/… - 这会给你答案“表方法是否优越”
标签: css html-table center