CSS вертикальное выравнивание элементов inline / inline-block
Я пытаюсь получить несколько inline
и inline-block
компоненты, которые выровнены по вертикали в div
. Как же так span
в этом примере настаивает на том, чтобы его толкнули вниз? Я пробовал оба vertical-align:middle;
и vertical-align:top;
, но ничего не меняется.
HTML:
<div>
<a></a><a></a>
<span>Some text</span>
</div>
CSS:
a {
background-color:#FFF;
width:20px;
height:20px;
display:inline-block;
border:solid black 1px;
}
div {
background:yellow;
vertical-align:middle;
}
span {
background:red;
}
результат:
3 ответа:
vertical-align
применяется к выравниваемым элементам, а не к их родительскому элементу. Чтобы вертикально выровнять детей div, сделайте это вместо этого:div > * { vertical-align:middle; // Align children to middle of line }
см.:http://jsfiddle.net/dfmx123/TFPx8/1186/
Примечание:
vertical-align
относится к текущей текстовой строке, а не к полной высоте родительского элементаdiv
. Если вы хотели родителяdiv
чтобы быть выше и все еще иметь элементы по вертикали, установитеdiv
' sline-height
собственность вместоheight
. Следуйте jsfiddle ссылка выше для примера.
дать
vertical-align:top;
ina
&span
. Вот так:a, span{ vertical-align:top; }
проверьте это http://jsfiddle.net/TFPx8/10/