У меня есть 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
это?
NB
Я знаю, что я могу использовать отступы и т.д., чтобы вручную alignt флажком. Но Im ищет решения с настольной ячейки и вертикальной Align (который должен работать)
Попробуйте добавить 'height: 40px' в' .b' или даже 'height: 100%' – Harry
Это не работает, потому что флажок - это замещенный элемент, а флажок 'display: table-cell' не будет работать , Оберните его в «span» и сделайте с ним. http://jsbin.com/IdOFUmi/18/edit?html,css,output – thirtydot
@thirtydot Вы отмечаете, что флажок является замененным элементом, но почему мой ответ работает, когда я наследую высоту? –