Этот вопрос возник в результате исправления, предложенного для этого связанного вопроса
У меня есть 3 вложенных div: внешний, внутренний и элемент.
<div class="outer">
<div class="inner"><div class="item"></div></div>
</div>
Учитывая следующий базовый CSS:
.outer{
width:50%;
height:100px;
border: 1px solid red;
position:relative;
overflow-x:hidden;
box-sizing:border-box;
}
.inner{
border:1px solid blue;
height:100%;
position: absolute;
box-sizing: border-box;
line-height:98px;
}
.item{
width:100px;
height:94px;
background-color:yellow;
display: inline-block;
border:1px solid green;
box-sizing:border-box;
vertical-align:middle;
}
Задача состоит в том, чтобы центрировать элемент div по вертикали с равными (или отсутствующими) промежутками сверху/снизу и без появления вертикальных полос прокрутки.
Обновлять:
Как указано ниже, я должен добавить, что несколько элементов разной высоты должны быть центрированы. На данный момент лучшим ответом является добавление отрицательного поля к каждому элементу, что приводит к следующему: http://codepen.io/anon/pen/dYWEYZ
Однако это плохо пахнет (для меня), так как требует смещения, которое зависит от 3 других свойств.