【发布时间】:2013-09-15 14:58:30
【问题描述】:
我有一个Div,其中有display:table
<div class='wrapper'>
<input type="checkbox" class="b" />
<span class="c" >aaa bbb ccc</span>
</div>
还有这个css:
.wrapper
{
display: table;
border:solid 1px red;
height:40px;
width:200px;
}
.b
{
border:solid 1px green;
display: table-cell;
vertical-align: middle;
}
.c
{
display: table-cell;
vertical-align: middle;
}
如您所见 - .b 和 .c 都有 display: table-cell; vertical-align: middle;
问题
为什么checkbox 不垂直对齐而span 是?
注意
我知道我可以使用填充等手动对齐复选框。但我正在寻找表格单元格和垂直对齐的解决方案(应该可以)
【问题讨论】:
-
尝试将
height: 40px添加到.b甚至height: 100% -
它不起作用,因为复选框是一个被替换的元素,并且给一个复选框
display: table-cell将不起作用。将其包裹在span中并完成它。 jsbin.com/IdOFUmi/18/edit?html,css,output -
@thirtydot 你说得好,复选框是一个被替换的元素,但是为什么我的答案在我继承高度时会起作用?
-
@MarcAudet:将
height设置为inherit或100%或40px(基本上与父级相同)这三个对我都有效。 (不是你对三十点的问题的答案。只是提一下) -
@MarcAudet:当您为复选框提供固定高度时,大多数浏览器都会发生这种情况。保持简单:jsbin.com/IdOFUmi/25/edit?html,css,output
标签: html css vertical-alignment