Что является лучшим подходом для вертикального центрирования текста в li, но ограничивает текст до 100% ширины li - в этом случае установка высоты строки для li приводит к огромному межстрочному интервалу для текста (что, конечно, с высотой строки вы говорите, чтобы сделать это):
ul li {
height: 40px;
line-height: 3em;
border-bottom: 1px solid #103d3b;
padding-left: 10px;
font-size: 13px;
background-image: url(images/listarrow.png);
background-position: right center;
background-repeat: no-repeat;
}
<ul>
<li>test 1</li>
<li>test 2 which is a longer line and needs wrapping</li>
</ul>
Добавление div вокруг текста с шириной 80% и высотой строки 1em отменяет высоту строки в li и отправляет текст (теперь правильно упакованный) в верхнюю часть поля li.
Я хочу, чтобы текстовый блок располагался вертикально по центру, с нормальной высотой строки, независимо от того, переносится текст или нет.
Есть идеи?
Единственный браузер, на который я нацеливаюсь, это Mobile Safari (iPhone, iPad и др.), Поэтому я могу использовать решения, которые работают только в Safari, если это единственный способ. Я не хочу делать это в Javascript, поскольку это может быть очень вредно для больших списков.
Привет
Moo