Этот вопрос больше относится к CSS, чем к JSF.Тем не менее я провел быстрое исследование по соответствующей теме CSS.Удивительно, но для этой задачи нет простого решения, и вы должны использовать обходной путь.
Лучший найденный мной обходной путь заключается в добавлении внутреннего div для его работы.Посмотрите следующий пример HTML и CSS (я также добавил некоторые рамки для лучшей визуализации размеров div ):
.outer {
display: table;
position: absolute;
height: 200px;
width: 200px;
border:1px solid black;
}
.middle {
display: table-cell;
vertical-align: middle;
}
.inner {
margin-left: auto;
margin-right: auto;
width:120px;
height:120px;
border:1px solid red;
}
<div class="outer">
<div class="middle">
<div class="inner">
<div>Your image here</div>
</div>
</div>
</div>
Исходное сообщение см. Здесь: Как расположить div по центру по вертикали для всех браузеров?