Я новичок в CSS, недавно прочитал спецификацию и столкнулся с некоторыми проблемами в понимании свойства вертикального выравнивания.
<div style="border: 1px solid black;">
<span style="border: 1px solid red; padding-left: 1px; line-height: 30px;"></span>
<span style="border: 1px solid red; padding-left: 1px;"></span>
<span style="border: 1px solid red; padding-left: 1px; line-height: 40px;"></span>
</div>
<div style="border: 1px solid black;">
<span style="border: 1px solid red; padding-left: 1px; line-height: 30px;"></span>
<span style="border: 1px solid red; padding-left: 1px;"></span>
<span style="border: 1px solid red; padding-left: 1px; line-height: 40px; vertical-align: top"></span>
</div>
<div style="border: 1px solid black;">
<span style="border: 1px solid red; padding-left: 1px; line-height: 30px; vertical-align: bottom"></span>
<span style="border: 1px solid red; padding-left: 1px;"></span>
<span style="border: 1px solid red; padding-left: 1px; line-height: 40px; vertical-align: top"></span>
</div>
Вышеприведенный код создает 3 div, каждый из которых содержит 3 пустых встроенных поля (промежутка):
- В 1-м диве вроде все нормально. Все 3 пролета выровнены по базовой линии линейного блока.
- Во 2-м div, после того как я установил для свойства
vertical-align
значениеtop
для 3-го диапазона, первые два диапазона перемещаются вверх. А то я отсюда теряюсь, не понимаю, зачем их поднимать вверх, по какому правилу. - 3-й div мне еще больше приглянулся. Я установил для свойства
vertical-align
значениеbottom
для 1-го диапазона, и это приводит к тому, что 2-й пролет перемещается немного ниже, чем 3-й пролет (это будет заметно при достаточном увеличении).
То, что я могу найти в спецификации, говорит ниже, но что такое multiple solutions
? Может ли кто-нибудь пролить больше света на это?
In case they are aligned 'top' or 'bottom', they must be aligned so as to minimize the line box height. If such boxes are tall enough, there are multiple solutions and CSS 2.1 does not define the position of the line box's baseline.
Я также создал скрипку. Пожалуйста, запустите его в Firefox или Chrome, если вы заинтересованы.