30.04.2014
Меню на всю ширину блока с равным отступом
Очень часто возникает задача сделать меню на сайте на всю ширину div’а. Самое простое решение — это сделать фиксированную ширину для каждого пункта, но если в дальнейшем нужно будет добавить еще пункты или текст ссылки будет больше, чем заданная ширина?
В такой ситуации можно обойтись простым css, для этого создаем меню.
И добавляем стили, в которых блок ul будет являться таблицей, а каждый элемент li и a ячейкой данной таблицы.
<ul class="full-width"> <li> <a href="#">О компании</a> <ul> <li><a href="#">История</a></li> <li><a href="#">Успехи</a></li> <li><a href="#">Команда</a></li> </ul> </li> <li class="active"><a href="#">Услуги</a></li> <li><a href="#">Технологии</a></li> <li><a href="#">Проекты</a></li> <li><a href="#">Контакты</a></li> </ul>
ul.full-width{
width: 100%; /* Ширина основного блока меню */
height: 50px; /* Высота основного блока меню */
position: relative;
display: table;
margin: 0;
padding: 0;
}
ul.full-width li {
display: table-cell;
position: relative;
}
ul.full-width li a {
display: block;
position: relative;
width: 100%;
height: 100%;
text-align:center;
background: #FFF;
line-height: 50px; /* Приравниваем к высоте, чтобы выровнять текст по вертикали */
}
ul.full-width li ul {
display: none; /* Скрываем выпадающее меню */
position: absolute;
width: 100%;
margin: 0px;
padding: 0px;
}
ul.full-width li ul li {
display: block;
}
ul.full-width li:hover ul {
display: block; /* Показываем выпадающее меню, где оно есть, при наведении */
}
Демонстрация
Нам будет приятно
Поделитесь
Комментарии