Выровнять по вертикали более одной строки текста (элементы меню)? - PullRequest
2 голосов
/ 12 июня 2011

Я пытаюсь выровнять текст по вертикали внутри UL. Проблема в том, что некоторые элементы списка имеют более одной строки текста и поэтому не могут использовать высоту строки.

Скрипка: http://jsfiddle.net/jaAYT/

Вот результат, которого я хочу достичь: http://img402.imageshack.us/img402/7979/menuor.jpg

Вот мой HTML:

<ul class="menu">
    <li> <a href="#"><span>WHAT IS TEAM X?</span></a> </li>
    <li> <a href="#"><span>COMPANY BENEFITS</span></a> </li>
    <li> <a href="#"><span>COMPANY, COMPANY DATA</span></a> </li>
    <li> <a href="#"><span>TEAM X COVERAGE</span></a> </li>
    <li> <a href="#"><span>COMPANY2 </span></a> </li>
    <li> <a href="#"><span>COMPANY3 </span></a> </li>
    <li> <a href="#"><span>LATEST CAMPAIGNS</span></a> </li>
    <li> <a href="#"><span>CONTACT</span></a> </li>
</ul>

Вот CSS:

.menu {
    float: left;
    margin: 0px 0px 0px 0px;
    width: 720px;
}
.menu li {
    float: left;
    position: relative;
}
.menu li a {
    width: 86px;
    height: 52px;
    padding: 15px 0px 15px 4px;
    display: block;
    float: left;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    text-decoration: none;
    background-color: #ccc;
}
.menu li a:hover {
    background-color: #000;
}

Спасибо! Cris

Ответы [ 3 ]

5 голосов
/ 12 июня 2011

Добавьте эти объявления к правилу .menu li a:

display: -webkit-box;
display: -moz-box;
display: box;
-webkit-box-align: center;
-moz-box-align: center;
box-align: center;

См обновленный скрипка .

08/14/13 См. ответ для текущего синтаксиса.

1 голос
/ 12 июня 2011

Это не самая красивая вещь, и она не будет работать, если ссылки генерируются динамически, но вы можете добавить специальные классы к этим промежуткам только с одной или двумя строками, а затем добавить немного padding вверху, чтобы центрировать текст.

.oneLine {display:block; padding-top:1.25em;}
.twoLines {display:block; padding-top:.75em;}

<ul class="menu">
    <li> <a href="#"><span class="twoLines">WHAT IS TEAM X?</span></a> </li>
    <li> <a href="#"><span class="twoLines">COMPANY BENEFITS</span></a> </li>
    <li> <a href="#"><span>COMPANY, COMPANY DATA</span></a> </li>
    <li> <a href="#"><span>TEAM CYCAD COVERAGE</span></a> </li>
    <li> <a href="#"><span class="oneLine">COMPANY2 </span></a> </li>
    <li> <a href="#"><span class="oneLine">COMPANY3 </span></a> </li>
    <li> <a href="#"><span class="twoLines">LATEST CAMPAIGNS</span></a> </li>
    <li> <a href="#"><span class="oneLine">CONTACT</span></a> </li>
</ul>

http://jsfiddle.net/jasongennaro/4MWTj/

1 голос
/ 12 июня 2011

Вот обновленная скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...