Создание горизонтального меню в CSS
3013 Посещений
Откройте HTML-документ и добавьте в него блок <div> с простым нумерованным списком с тем отличием, что одному из пунктов нужно присвоить id:
<div> <ul> <li><a href=»#»>Пункт 1</a></li> <li><a href=»#»>Пункт 2</a></li> <li><a href=»#»>Пункт 3</a></li> <li><a href=»#»>Пункт 4</a></li> <li><a href=»#»>Пункт 5</a></li> </ul> |
Обратите внимание на то, что решетка (#) ー URL-адрес ссылки. Следующая задача ー сделать так, чтобы пункты меню располагались не один над другим, а рядом. Для этого нужно создать правило CSS:
#menu ul li { display: inline; } |
Теперь создадим горизонтальную линию на странице, на которой, собственно, и будут располагаться наши пункты меню. Кроме того, необходимо настроить такой параметр как расстояние от края страницы:
#menu ul { border-bottom:2px solid #000000; margin-left:0; padding:4px 0; } |
Создадим “прямоугольники”, в которых будут располагаться пункты меню и зададим внутреннее расстояние:
#menu ul li a { text-decoration:none; margin-left:3px; border:1px solid #000000; padding: 3px 4px; border-bottom:0; background:#CEDEFF; } |
Настройте то, как будут отображаться пункты меню, на которые посетитель сайта уже заходил:
#menu ul li a:link { color:#493; } #menu ul li a:visited { color:#647; } #menu ul li a:hover { color:#000; background:#6699FF; border-color:#227 |
Укажите вид пункта текущей страницы и сохраните изменения:
#menu ul li a#nowopen { background:#fff; border-bottom: 1px solid #fff; } |
Если вы хотите выровнять меню по центру, добавьте в правило CSS следующее:
#menu { margin:0 25% 0 25%; } |
Меню в браузере:
Как сделать горизонтальное меню на CSS
Простое горизонтальное меню
HTML
<ul> <li><a title="" href="#">Пункт один</a></li> <li><a title="" href="#">Пункт два</a></li> <li><a title="" href="#">Пункт три</a></li> <li><a title="" href="#">Пункт четыре</a></li> <li><a title="" href="#">Пункт пять</a></li> </ul>
CSS
#glavnoeMenu,
#glavnoeMenu ul
{
list-style: none; /* Убираем маркеры списка меню */
}
#glavnoeMenu
{
float: left; /* Выравниваем по левой стороне */
}
#glavnoeMenu > li
{
float: left; /* Выравниваем по левой стороне */
}
#glavnoeMenu li a
{
display: block; /* Меню — блочный элемент */
margin: 0 1em; /* Отделяем пункты меню отступами слева-справа */
padding: 0; /* Нулевые значения полей вокруг ссылки */
}
Горизонтальное меню с вложенным списком подпунктов
1. Создаем HTML структуру меню — список пунктов с ссылками. Один из пунктов основного меню, например, третий, имеет вложенный список подпунктов.
Основному списку присвоен стилевой идентификатор [glavnoeMenu] — уникальное имя, которое используется для изменения его стиля.
HTML
<ul> <li><a title="" href="#">Пункт один</a></li> <li><a title="" href="#">Пункт два</a></li> <li><a title="" href="#">Пункт три</a> <ul> <li><a title="" href="#">Подпункт один</a></li> <li><a title="" href="#">Подпункт два</a></li> <li><a title="" href="#">Подпункт три</a></li> </ul> </li> <li><a title="" href="#">Пункт четыре</a></li> <li><a title="" href="#">Пункт пять</a></li> </ul>
CSS
#glavnoeMenu, #glavnoeMenu ul { list-style: none; /* Убираем маркеры списка меню */ } #glavnoeMenu { float: left; /* Выравниваем по левой стороне */ } #glavnoeMenu > li { float: left; /* Выравниваем по левой стороне */ } #glavnoeMenu li a { display: block; /* Меню — блочный элемент */ margin: 0 1em; /* Отделяем пункты меню отступами слева-справа */ padding: 0; /* Нулевые значения полей вокруг ссылки */ } #glavnoeMenu li ul { background: none repeat scroll 0 0 #FFFFFF; /* Фон списка с подпунктами, белый */ display: none; /* Вложенный список с подпунктами не отображается */ position: absolute; /* Имеет абсолютное позиционирование */ z-index: 9999999; /* Список с подпунктами перекрывает другие объекты веб-страницы */ } #glavnoeMenu li ul li a { margin: 0; /* Нулевой отступ */ padding: 0.3em 1em; /* Внутренние поля ссылки подпункта*/ } #glavnoeMenu li:hover ul { display: block; /* Отображение списка с подпунктами при наведении — блочный элемент */ margin: 0; padding: 0.1em 0; }
Дальнейшее оформление — по вкусу.
Демонстрация меню
В случаях размещения меню слева или справа страницы, отступ от края (левого или правого) может нарушить сетку. Для исправления необходимо, в левом варианте, присвоить класс [first] первому пункту и [last] последнему в правом варианте. В стили добавить описание варианта класса:
#glavnoeMenu li a.first
{
display: block;
margin: 0 1em 0 0; /* Убираем левый отступ */
padding: 0;
}
или
#glavnoeMenu li a.last
{
display: block;
margin: 0 0 0 1em; /* Убираем правый отступ */
padding: 0;
}
Можно ограничить ширину блока вложенного списка. Для этого нужно прописать стиль, указав точную ширину, например 150px.
#glavnoeMenu ul li a
{
width: 150px;
}
CSS меню. Простое меню для сайта. Горизонтальное CSS меню.
Мы рассмотрели то, как можно сделать горизонтальное выпадающее CSS меню и вертикальное выпадающее CSS меню. Сегодня мы поговорим о том, как создать горизонтальное CSS меню для сайта. Но в этот раз меню не будет выпадающим, то есть мы планируем, что не потребуются подразделы.
Как и в прошлой публикации, меню сайта будет создано при помощи маркированного HTML списка (при помощи тегов <li> и <ul>). Оформлять горизонтальное меню для сайта мы будем при помощи таблицы стилей (CSS), мы не будем использовать JavaScript для создания горизонтального CSS меню. Как и в прошлый раз, мы не будем использовать изображений для создания горизонтального CSS меню.
Создание меню для сайта. Горизонтальное CSS меню. Шаг 1 -создание HTML макета меню.
Содержание статьи:
И так, начнем мы с создания HTML макета меню сайта. Для этого мы воспользуемся HTML списком, ненумерованным списком:
</p> <!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> <html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>Создание CSS меню</title> <link rel=»stylesheet» href=»style.css» type=»text/css» > </head> <body> <div> <ul> <li><a href=»#»>Home</a></li> <li><a href=»#»>Ссылка1</a></li> <li><a href=»#»>Ссылка2</a></li> <li><a href=»#»>Ссылка3</a></li> <li><a href=»#»>Ссылка4</a></li> </ul> <span><span><br></span></span> </div> </body> </html> <p>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
</p> <!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»> <html> <head> <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> <title>Создание CSS меню</title> <link rel=»stylesheet» href=»style.css» type=»text/css» > </head> <body> <div> <ul> <li><a href=»#»>Home</a></li> <li><a href=»#»>Ссылка1</a></li> <li><a href=»#»>Ссылка2</a></li> <li><a href=»#»>Ссылка3</a></li> <li><a href=»#»>Ссылка4</a></li> </ul> <span><span><br></span></span> </div> </body> </html> <p> |
Сразу подключаем файл таблиц стилей, который называется style.css. При помощи тегов <ul> и <li> создаем HTML макет меню для сайта. Поскольку, пункты нашего горизонтального CSS меню должны куда-нибудь вести, делаем их ссылками при помощи тега <a>, в качестве значения атрибута href устанавливаем #(хэш), ссылки с таким атрибутом никуда не ведут. HTML список меню помещаем в контейнер <div> с идентификатором hmenu, поскольку внутри элемента <body> могут находиться только блочные HTML элементы и элементы <ins> и <del>. После созданного списка стоит тег <br> — перевод строки, он нужен для того, чтобы растянуть меню сайта по горизонтали на всю ширину окна браузера.
Создание меню для сайта. Горизонтальное CSS меню. Шаг 2 — Задаем стили для меню сайта.
Первое, что нужно сделать — это задать цвет фона и ширину контейнера <div> в CSS, хотя вы знаете, что блочные HTML элементы занимают всю доступную ширину, в отличие от строчных HTML элементов:
#menu{ width: 100%; background-color: #333; }
#menu{ width: 100%; background-color: #333; } |
Затем нам нужно задать общий стиль для горизонтального CSS меню:
#menu ul{ margin: 0; padding: 0; float: left;}
#menu ul{
margin: 0;
padding: 0;
float: left;} |
Здесь мы убираем внутренние и внешние отступы, а также «прижимаем» меню сайта к левой границе окна браузера.
Теперь можно задать стиль отображения для всех пунктов меню сайта:
#menu ul li{ display: inline;}
#menu ul li{ display: inline;} |
Мы знаем, что элемент <li> относится к блочным, то есть занимает всю область, в которой он стоит, из-за этого наше меню было вертикальным, добавив CSS свойство display: inline, мы сделали элементы <li> строчными, а наше меню стало горизонтальным.
Теперь мы можем задать CSS стили для содержимого контейнеров <li>, то есть стили для навигации горизонтального меню(для тега <a>):
#menu ul li a{ float: left; text-decoration: none; color: white; padding: 10.5px 11px; background-color: #333; }
#menu ul li a{ float: left; text-decoration: none; color: white; padding: 10.5px 11px; background-color: #333; } |
CSS свойство float:left выравнивает горизонтальное меню и контейнер <div> по верхней границе. Все ссылки по умолчанию подчеркиваются браузером, чтобы избавиться от этого недоразумения мы используем свойство text-decoration:none. Далее мы задаем цвет ссылок, то есть цвет текста меню сайта. Внутренними отступами мы расширяем наше горизонтальное меню.
Задаем стили для посещенных пунктов меню и то, как будут отображаться пункты меню, при наведение на них курсора мыши:
</p> #menu ul li a:visited{ color: white;} #menu ul li a:hover{ color: #fff; background-color:#0b75b2;} <p>
</p> #menu ul li a:visited{ color: white;}
#menu ul li a:hover{ color: #fff; background-color:#0b75b2;} <p> |
Ну тут все понятно: мы задаем цвет текста и цвет фона для горизонтального CSS меню.
Осталось задать стиль для тега <br>, чтобы выровнять по высоте горизонтальное меню и элемент <div>:
</p> <p>br{clear:left;}</p> <p>
</p> <p>br{clear:left;}</p> <p> |
Это горизонтальное CSS меню будет растягиваться на всю ширину окна браузера и при это данное меню корректно отображается во всех браузерах.
Исходные коды примеров вы можете скачать на публичных страницах вконтакте: раз и два.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru. Не забываем комментировать и делиться с друзьями;)
Горизонтальное меню на CSS
Сегодня мы будем создавать простое горизонтальное меню с помощью CSS. Для начала мы создадим скелет меню на HTML, и усвоим главные навыки создания горизонтальных меню. После чего мы придадим красивый вид для меню, используя CSS. Как известно, корифеи верстки, предпочитают семантику, от которой мы постараемся не отступать.
HTML код меню
<ul> <li><a href="http://sitear.ru">Главная</a></li> <li><a href="http://sitear.ru">Дизайн, CSS</a></li> <li><a href="http://sitear.ru">Программирование</a></li> <li><a href="http://sitear.ru">Еще пункт меню</a></li> </ul>
По html структуре объяснять нечего, простой UL список. Как упоминалось раньше, семантика соблюдается. Семантика – это когда html тег соответствует содержимому. Если разделы меню сделать DIV блоками, это не будет семантикой. Равнозначные элементы должны быть списком. Посмотрим, что у нас получилось на данном этапе:
UL элемент является блочным, поэтому его ширина будет 100% (на всю ширину страницы). LI также блочный элемент, а вот A – не блочный. Убедиться в этом можно с помощью наложения рамки в css стиле блока – border:1px solid #f00; Мне часто приходиться пользоваться этой хитростью, чтобы видеть границы элементов.
CSS код меню
Для придания этому меню горизонтального положения, выравнивания по центру и соответствующего вида, напишем следующий CSS код:
#menu{list-style:none; width:500px; padding:0; margin: auto;} #menu li{float:left; font:bold 14px Arial;} #menu a{color:#666; display:block; height:40px; line-height:36px; padding:0px 10px 0px 10px; background:#eee; text-decoration:none;} #menu a:hover{color:#fff; background:#888;}
На данном этапе получилось следующее:
Разбор полетов
Разберем все поэтапно, до каждой мелочи:
#menu {…} – С помощью этого выражения мы присваиваем стили для UL элемента, у которого id=menu.
list-style:none; – убираем маркеры (пульки), слева от каждого элемента в списке.
width:500px; – ширина меню 500 пикселей.
margin: auto; – выравнивает меню по центру страницы. Если не будет указана ширина, то выравнивания не произойдет, поэтому предыдущий параметр обязателен.
padding:0; – устанавливаем нулевые внутренние отступы. То есть убираем их вообще. Если не знаете что это дает, установите их в 20px и посмотрите, что измениться.
#menu li {…} – присваиваем стили для LI элементов.
float:left; – обтекание элемента по левой стороне. Это выражение придает меню горизонтального положения.
font:bold 14px Arial; – устанавливаем стиль для текста в самой короткой форме, bold – жирный текст, 14px – размер шрифта в пикселях, Arial – тип шрифта.
#menu a {…} – присваиваем стили для A элемента (ссылки).
color:#666; – темно-серый цвет шрифта.
display:block; — делаем элемент блочным. Это даст возможность присваивать высоту для элемента. В практическом аспекте, это делает кликабельным не только текст ссылки, ни и поле вокруг текста.
height:40px; – высота меню будет 40 пикселей.
line-height:36px; – высота верхней линии над текстом. Это дает возможность задавать вертикальное положение текста внутри блока. Мы используем это для выравнивания текста в вертикальном направлении.
padding:0px 10px 0px 10px; – делаем внутренние отступы слева и справа по 10 пикселей.
background:#eee; – устанавливаем серый цвет фона для элементов меню.
text-decoration:none; – убираем линию подчеркивающую ссылку.
#menu a:hover {…} – присваиваем стили для A элемента при наведении на нее мышки.
color:#fff; – меняем цвет текста на белый.
background:#888; – цвет фона меняем на темно серый.
Доработка горизонтального меню
Это все, что касается основ создания горизонтальных меню на CSS. Далее мы придадим красивый вид нашему меню. Для этого мы присвоим для a элемента background:url(background.png) repeat-x; для a:hover другой фон background:url(hover.png) repeat-x; Ниже предоставлены исходные картинки.
background.png —
hover.png —
Теперь меню имеет немного иной вид:
Это самое простое горизонтальное меню на CSS, которое вы можете использовать как основу для разработки меню для своего сайта. Также можете посмотреть как создать выпадающее горизонтальное меню на css. Надеюсь, статья была полезной и понятной. Если остались вопросы или недопонимания по поводу горизонтальных меню, смело пишите в комментарии.
Дальше: Заработок на контекстной рекламе, идеи для эффективного заработка
Дискуссия по теме 31 Комментарий
Добавить комментарий
Ильдар 11.11.2014 в 22:47
Добрый вечер! а как к пунктам меню добавить материал текст фото видео через css и html не используя движок joomla!
Оксана 04.11.2014 в 15:52
Здравствуйте! Объясните мне чайнику в каком файле должны производиться все эти изменения, общая логика меню мне понятна, но где должен располагаться этот код никак не пойму.
Darksoul 03.09.2014 в 01:00
Здравствуйте! Мне нужна помощь в задании конкретных координат горизонтального меню, а именно в шапке сайта, наложив его сверху на картинку шапки. Сайт на движке вордпресс, могу скинуть файлы header.php, style.php и function.php если они нужны. Ответ если можно пришлите на почту, и заранее спасибо!
Умник 27.08.2014 в 09:50
UL — это весь список, а LI — это вся строчка, вообще-то.
Katrin 25.06.2014 в 01:02
Подскажите как создать горизонтальное меню в CSS и HTML так скажем горизонтальные заголовки и каждый заголовок разным стилем Пример: «контакты ЗАГОЛОВОК корзина»
Артём 23.03.2013 в 14:01
Спасибо, статья очень помогла
Лариса 28.10.2012 в 09:41
Добрый день! Благодаря Вам смогла создать меню. Спасибо! Только есть один момент: в IE меню не горизонтальное, а вертикальное и на ширину страницы. Подскажите, как убрать этот бок. Вот CSS код: #menu{list-style:none; width:1100px; padding:0; margin: auto;} #menu li{float:left; font:bold 14px Arial;} #menu a{ border: 1px solid #FFF; border-right-color: #527337; border-bottom-color: #527337; color:000099; display:block; height:36px; line-height:36px; padding:0px 10px 0px 10px; background:#CCCCFF; text-decoration:none; #menu a:hover{color:#FFFFFF; background:#9999FF;}
Тарас 29.10.2012 в 22:52
Это нужно тестировать. Такой эффект могут давать другие стили сайта. Если есть ссылка на пример, скидывайте сюда.
Валерий 10.09.2012 в 21:38
Вот ещё интересное горизонтальное меню — http://lecaw.ru/index.php/categories/css/item/280-kak-sdelat-gorizontalnoye-vipadayushee-menu-s-effektom-prokrutki-na-css
игорь 30.07.2012 в 18:08
Добрый день . Получилось . Все благодаря ВАМ. Осталось несколько вопросов: 1 поместил внизу шапки сайта <div id …..relative;width:700px;margin:auto;font:bold 12px Verdana;color:#FFF2C0; display:block;height:40px; line-height:36px;padding:0px 1px 0px 1px; 1 это в CSS #uMenuDiv2{list-style:none; width:700px; padding:0; margin:auto;} #uMenuDiv2 li{float:left;font:bold 12px Verdana;color:#FFF2C0;} #uMenuDiv2 a{color:#ffffff; display:block; height:40px; line-height:36px; padding:0px 1px 0px 1px То , что выделено находится внизу шапки сайта и в CSS. Не понятно, что д. б. только в CSS И еще, понравилось , на вашем сайте – постоянная активность кнопки, обозначающая страницу, которая , сейчас открыта. М.б. подскажете . В любом случае огромное ВАМ СПАСИБО за помощь , ведь я узнал что то новое, благодаря ВАМ. С уважением Игорь
Тарас 31.07.2012 в 00:59
Можно хоть в CSS, хоть прямо в теге div. Лучше оставить только в css. Все стили выносят в отдельное место специально, чтобы легче было потом редактировать и менять дизайн. С активной кнопкой ничего не получиться, так как для этого нужно программировать… а как там все на укозе я не знаю. Всего вам доброго! Рад что все получилось.
игорь 29.07.2012 в 19:28
Добрый день, Тарас! Вообщем просмотрел разные варианты горизонтального меню, интернет , форумы ,все попробовал , но ничего не получилось , то искажает дизайн,то еще что то , тоска . Вывод- все что пишут в интернете — это для более- менее подготовленных , специалисты делятся своими разработками, вариантами и т.д. Новичкам это сложно . К ВАМ , убедительная просьба , если есть возможность , помогите довести дело до конца, ну а на нет …Вы и так много времени потратили на меня. С уважением Игорь
Тарас 30.07.2012 в 01:56
Дело в том, что я сам не знаю куда добавлять пункт uMenuDiv2… системой ucoz никогда не пользовался. Добавлять нужно туда где пишуться стили css… берете код, который подан в этой статье (здесь уже с ссылкой на фоновую картинку): #menu{list-style:none; width:500px; padding:0; margin: auto;} #menu li{float:left; font:bold 14px Arial;} #menu a{color:#666; display:block; height:40px; line-height:36px; padding:0px 10px 0px 10px; background:url(background.png) repeat-x; text-decoration:none;} #menu a:hover{color:#fff; background:url(hover.png) repeat-x;} вместо #menu пишите #uMenuDiv2… все остальное оставляете так же… две эти картинки закидаете в папку с файлом стилей (тот куда вы пишите этот код).
игорь 25.07.2012 в 20:22
Здравствуйте. Благодарю за ответы. То , что вы подсказали –сделал. Нравится. Провел день в поисках ответа 1 Посмотрите сайт http://compstil.ucoz.ru/ 2 Не получились блоки . цвет блоков и hover(цвета положил в файловый менеджер), есть адрес ссылки , но … Пробовал разные варианты ,смотрел интернет , форум –но результата нет,т.е. нет картинки как в вашей статье – красиво ,просто. 3 кстати , запутался , по моему эти данные надо вводить в CSS , но тогда м.б. надо создать в CSS пункт типа .. uMenuDiv2… , или эти данные надо добавлять в Site Menus или другое Если , возможно найдете время , пожалуйста посмотрите. Еще раз огромное спасибо за вашу помощь С уважением Игорь
игорь 25.07.2012 в 09:11
4 как разместить ссылки страниц в меню Вообщем , сами увидите , мои недоработки ,Прошу подсказать что надо доделать Еще раз огромное спасибо за вашу помощь С уважением Игорь Спасибо -всего 4 части Игорь Статья нужная , полезная
Тарас 25.07.2012 в 14:11
Вы вставили в меню просто текст, оно должно выглядеть следующим образом: <div> <li><a href=»http://compstil.ucoz.ru/»>Главная</a></li> <li><a href=»http://compstil.ucoz.ru/»>Доска объявлений</a></li> </ul> </div>
игорь 25.07.2012 в 09:09
3 Остались не решенными следующее — #menu {…} – С помощью этого выражения мы присваиваем стили для UL элемента, у которого id=menu. ????? — #menu li {…} – присваиваем стили для LI элементов. ???? — display:block; — делаем элемент блочным. Это даст возможность присваивать высоту для элемента. В практическом аспекте, это делает кликабельным не только текст ссылки, ни и поле вокруг текста. Не получилось — padding:0px 10px 0px 10px; делаем внутренние отступы слева и справа по 10 пикселей Не заметил — #menu a:hover {…} – присваиваем стили для A элемента при наведении на нее мышки.???? -color:#fff; – меняем цвет текста на белый. -background:#888; – цвет фона меняем на темно серый.
Тарас 25.07.2012 в 14:16
В вашем случае присваивание стилей будет следующим: #uMenuDiv2 {здесь идут все стили для меню} #uMenuDiv2 li {здесь идут стили для разделов меню, смотрите ответ на последний ваш коммент} #uMenuDiv2 a:hover {color:#fff; background:#888;} — это для ссылок меню при навидении. Рассмотрите еще раз, внимательно, картинку в начале урока! И HTML код меню.
игорь 25.07.2012 в 09:09
2 итак ,я взял Ваш код и поместил его внизу верхней части сайта и постепенно добавлял ,по пункту –получилось следующее <div> Главная Доска объявлений Новости Наука, техника Обратная связь Контакты </ul> </div>
игорь 25.07.2012 в 09:08
пересылаю частями Добрый день. Благодарю за ответ Возникли новые вопросы. Пожалуйста , если возможно , ответьте . Хочется довести дело до конца 1 Посмотрите сайт http://compstil.ucoz.ru/ Есть горизонтальное меню , созданное с вашей помощью. (этот сайт отличается от того . что я упоминал ранее , только названием и служит мне экспериментальной базой , на нем я пробую разные варианты , а потом переношу на основной)
игорь 23.07.2012 в 14:51
Здраввствуйте. сайт http://impexstil.ucoz.ru/ спасибо за проявленное желание помочь на сайте видно горизонтальное меню , надо его установить по центру и хотел бы такие же кнопки С уважением Игорь
Тарас 24.07.2012 в 00:14
<div> <ul> содержимое меню </ul> </div> вот так выглядит ваше меню… Попробуйте назначить к div ширину width:500px; или больше, главное чтобы хватало на все разделы. После этого к этому же div блоку добавьте атрибут margin:auto;
игорь 22.07.2012 в 14:16
Добрый день! Благодарю за статью .Очень полезна. Я, не специалист , поэтому похвала будет не корректно, Если позволите , вопрос: -у меня сайт ucoz, есть вертикальное меню , но надо продублировать в горизонтальном , с последующей переделкой вертикального меню в категории и др. Пока , не ясен вопрос в какой раздел CSS вставить код С уважением Игорь
Тарас 23.07.2012 в 14:39
Здравствуйте Игорь! К сожалению на ucoze я никогда не работал и не знаю что и к чему… Может быть что-то посоветую, если дадите ссылку на сайт (страницу).
Павел 03.07.2012 в 16:33
Спасибо! Ваша статья очень помогла мне!
timon 04.06.2012 в 12:20
Спасибо огромное!
artiom 14.05.2012 в 15:35
великолепно! респект и благодарность автору!)
Тарас 14.05.2012 в 15:59
Спасибо, Артем!
Устим 01.04.2012 в 19:45
Тарас, спасибо за ответ. Пробовал и так и так. Ничего не происходит. Только липнет к левому краю и всё…( Размпер остаётся тот же.
Устим 31.03.2012 в 17:14
Здравствуйте. Хотел бы узнать, как зделать так чтобы бекграунд меню был до самого конца сайта, а не заканчивался на последнем разделе. У меня шляпа сайта на весь экран по горизонтали, а меню от левого края идёт до средины, потому что всего 5-ть разделов. А я хотел бы чтобы полоса меню шла до конца. А то как то очень глупо получается сейчас)))
Тарас 01.04.2012 в 16:54
Уберите аттрибут width:500px, или установите 100%, должно работать.
Добавить комментарий
Как сделать горизонтальное меню в HTML
Горизонтальное меню сделать достаточно легко, нужно лишь немного воображения и знания html и css.
Для начала попробуем сделать простое горизонтальное меню. Вот пример как оно будет выглядеть:
Самое главное понять принцип, потом самостоятельно сможете сделать более сложное. Само меню размечается следующим фрагментом html кода:
<div>
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">HTML</a></li>
<li><a href="#">CSS</a></li>
<li><a href="#">PHP</a></li>
<li><a href="#">SEO</a></li>
</ul>
</div>
Видно, что это простой ненумерованный список, где одному из пунктов присвоен id. Он присвоен пункту текущей страницы, чтобы этот пункт отображался по-другому. То есть на каждой странице он должен быть присвоен соответствующему пункту меню. # — URL ссылки.
Теперь перейдём к правилам CSS. Первое что нам надо, это то, чтобы пункты меню отображались друг рядом с другом, а не друг под другом. Для этого пишем следующее:
#menu ul li {display: inline;}
Потом поработаем с самим элементом ul. Нам нужна горизонтальная линия по всей длине страницы, на которой как бы будут расположены пункты меню и нужно изменить расстояние от края страницы. Это зависит от того, где вы хотите чтобы располагалось меню.
#menu ul {border-bottom:1px solid #000000; margin-left:0; padding:3px 0;}
Далее создаем сами прямоугольники, куда будут помещены пункты и внутреннее расстояние в них.
#menu ul li a {text-decoration:none; margin-left:3px; border:1px solid #000000; padding: 3px 4px; border-bottom:0; background:#CEDEFF;}
Задаем, как будут выглядеть посещённые, не посещённые и пункты меню под указателем мыши.
#menu ul li a:link {color:#493;}
#menu ul li a:visited {color:#647;}
#menu ul li a:hover {color:#000; background:#6699FF; border-color:#227}
И, наконец, указываем вид пункта текущей страницы.
#menu ul li a#nowopen {background:#fff; border-bottom: 1px solid #fff;}
Выровнять меню по центру можно, задав #menu {margin:0 25% 0 25%;}
Используя вместо однотонных фонов изображения, можно получить самые разнообразные по дизайну меню.
Подключаем CSS к HTML, меню готово. Файл таблицы стилей.
Применяя различные изображения, мы получим вполне серьезные меню.
Скачать меню 1
Скачать меню 2
Скачать меню 3
Скачать меню 4
Скачать меню 5
Если для каждого пункта меню фон разный, нужно будет присвоить свой класс каждому пункту меню и для каждого класса прописать правила CSS, как сделано в следующем примере для второго пункта меню: Пример с разными фонами пунктов меню, или по аналогии сделать через id. Если фоном у вас являются изображения, заменяем соответствующие значения background: #цвет на background: url(путь до картинки.gif)
Скачать меню 6
Выпадающее горизонтальное меню на css
Для того, чтобы использовать выпадающее горизонтальное меню, достаточно скопировать его html-код в нужное место на вашей странице, и добавить css в ваш файл стилей.
<ul>
<li><a href=»#»>Меню 1</a>
<ul>
<li><a href=»#»>Подменю 1</a></li>
<li><a href=»#»>Подменю 2</a></li>
<li><a href=»#»>Подменю 3</a></li>
</ul>
</li>
<li><a href=»#»>Меню 2</a>
<ul>
<li><a href=»#»>Подменю 1</a></li>
<li><a href=»#»>Подменю 2</a></li>
<li><a href=»#»>Подменю 3</a></li>
</ul>
</li>
<li><a href=»#»>Меню 3</a>
<ul>
<li><a href=»#»>Подменю 1</a></li>
<li><a href=»#»>Подменю 2</a></li>
<li><a href=»#»>Подменю 3</a></li>
</ul>
</li>
<li><a href=»#»>Меню 4</a></li>
<li><a href=»#»>Меню 5</a></li>
</ul>
Работоспособность данной конструкции проверена в трех основных браузерах: Mozilla Firefox, Opera, и Internet Explorer.
Этот CSS проходит проверку по стандарту CSS3 !
* {
margin:0;
padding:0;
}
#nav {
font:13px verdana, arial, helvetica, sans-serif;
list-style-type:none;
width:100%;
height:25px;
display:inline-block;
background:#A39E92;
line-height:25px;
}
#nav li{
float:left;
width:120px;
margin-top:-10000px;
}
#nav li a {
width:120px;
text-decoration:none;
text-align:center;
color:#3A3732;
position:relative;
float:left;
margin-right:-119px;
margin-top:10000px;
}
#nav li a:hover, #nav li a:focus, #nav li a:active {
background:#797466;
margin-right:0;
color:#fff;
}
#nav li ul {
background:#A39E92;
float:left;
margin-top:-25px;
padding-top:25px;
margin-bottom:-10000px;
list-style-type:none;
}
#nav li ul li {
float:none;
margin:0;
width:auto;
}
#nav li ul li a {
float:none;
display:block;
margin:0;
margin-right:-1px;
background:#BFBCB5;
}
Скачать выпадающее горизонтальное меню
Иногда работающие в IE и Firefox’е стили, неработают или работают не корректно в Oper’е и наоборот, перед тем как применить «рецепт» проверяйте его работу в разных браузерах.
Выпадающее горизонтальное меню с поиском на CSS3 и HTML5
Время чтения: 3 мин.В данной статье мы создадим выпадающее горизонтальное меню с полем для поиска с помощью CSS3 и HTML5.
Пример данного меню можно увидеть здесь:
Посмотреть примерСкачать
HTML часть
Навигации состоит из маркированного списка (с классом .nav), который содержит внутри:
- Элементы списка, которые содержат обычные ссылки и не имеют никакого идентификатора или класса;
- #settings внутри которого изображения как ссылки;
- #search содержит поле для поиска и кнопку отправки текста;
- #options содержит ссылку и список( с классом .subnav), который работает как выпадающее меню.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <ul> <li> <a href="#"><img src="images/settings.png"></a> </li> <li> <a href="#">Приложения</a> </li> <li> <a href="#">Сервис</a> </li> <li> <form action="" method="get"> <input name="search_text" placeholder="Поиск..." type="text"> <input name="search_button" type="button"> </form> </li> <li> <a href="#">Меню</a> <ul> <li><a href="#">Настройки</a></li> <li><a href="#">Приложения</a></li> <li><a href="#">Сервис</a></li> <li><a href="#">Разное</a></li> </ul> </li> </ul> |
CSS часть
Базовые стили:
1 2 3 4 | * { margin: 0; padding: 0; } |
Навигация и вид списка
1 2 3 4 5 6 7 8 9 10 11 | .nav { background: #232323; height: 60px; display: inline-block; } .nav li { float: left; list-style-type: none; position: relative; } |
Здесь задали фон для меню, а также расположили горизонтально элементы списка.
Ссылки в меню
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | .nav li a { font-size: 16px; color: white; display: block; line-height: 60px; padding: 0 26px; text-decoration: none; border-left: 1px solid #2e2e2e; font-family: sans-serif, Arial; text-shadow: 0 0 1px rgba(255, 255, 255, 0.5); } .nav li a:hover { background-color: #2e2e2e; } #settings a { padding: 18px; height: 24px; font-size: 10px; line-height: 24px; } |
Ссылки имеют высоту блока, то есть весь блок будет ссылкой. При наведении на ссылку фон меняется на серый. Блок с идентификатором #settings содержит изображение, поэтому для него задали такие свойства.
Поле поиска
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #search { width: 357px; margin: 4px; } #search_text { width: 297px; padding: 15px 0 15px 20px; font-size: 16px; font-family: sans-serif, Arial; border: 0 none; height: 52px; margin-right: 0; color: white; outline: none; background: #1f7f5c; float: left; box-sizing: border-box; transition: all 0.15s; } ::-webkit-input-placeholder { /* WebKit браузеры */ color: white; } :-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: white; } ::-moz-placeholder { /* Mozilla Firefox 19+ */ color: white; } :-ms-input-placeholder { /* Internet Explorer 10+ */ color: white; } #search_text:focus { background: rgb(64, 151, 119); } #search_button { border: 0 none; background: #1f7f5c url("../images/search.png") center no-repeat; width: 60px; float: left; padding: 0; text-align: center; height: 52px; cursor: pointer; } |
Здесь идет оформление поля с поиском. Заданы разные свойства, при наведении, при фокусе и т.д.
Выпадающая часть
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #options a { border-left: 0 none; } #options>a { background-image: url("../images/triangle.png"); background-position: 85% center; background-repeat: no-repeat; padding-right: 42px; } .subnav { visibility: hidden; position: absolute; top: 110%; right: 0; width: 200px; height: auto; opacity: 0; transition: all 0.1s; background: #232323; } .subnav li { float: none; } .subnav li a { border-bottom: 1px solid #2e2e2e; } #options:hover .subnav { visibility: visible; top: 100%; opacity: 1; } |
Блок с классом .subnav изначально спрятан, и появляется он только при наведении.
Если есть какие-то вопросы, задавайте их в комментариях ниже.
Успехов!
Простая горизонтальная панель навигации CSS с использованием встроенного блока | автор: Chun Ming Wang
Эффект от каждой строчки кода можно наблюдать с помощью простого образа докера Browser-Sync.
HTML-код горизонтальной панели навигации выглядит следующим образом.
Горизонтальную панель навигации можно создать двумя разными способами.Один использует встроенный блок
, а другой использует с плавающей запятой
. В этой статье представлен только метод inline-block
.
Код для горизонтального меню навигации, в котором используются встроенные и
, выглядит следующим образом. Важные шаги отмечены и объяснены.
* {
box-size: border-box;
} body {
margin: 0;
отступ: 0;
цвет фона: #ccc;
} nav ul {
стиль списка: нет;
отступ: 0;
маржа: 0;
цвет фона: # 444;
выравнивание текста: по центру; / * шаг 6 * /
} nav li {
display: inline-block; / * шаг 1 * /
ширина: 20%; / * шаг 4 * /
margin-right: -4px; / * шаг 5 * /
} nav a {
display: block; / * шаг 2 * /
text-decoration: none; / * шаг 3 * /
} / * общий стиль текста * /
nav a {
font-family: sans-serif;
высота: 40%; / * по центру по вертикали * /
line-height: 40%; / * по центру по вертикали * /
color: #fff;
} nav a: hover {
background-color: # 005f5f;
}nav a.активный {
background-color: #eee;
цвет: # 444;
курсор: по умолчанию;
}
Шаг 1: установите display: inline-block
для каждого
внутри . Этот код заставляет все
оставаться в одной строке. Это также позволяет мне контролировать ширину, поля и отступы.
Шаг 2: установите отображение : блок
для каждого
внутри . Это также позволяет мне контролировать ширину, поля и отступы.
Шаг 3: удалите подчеркивание по умолчанию.
Шаг 4: установите ширину 20%. Есть пять ссылок. 5 x 20% = 100%
.
Можно заметить, что последняя ссылка переходит на следующую строку на этом шаге. Поскольку для элементов встроенного блока к этим элементам добавляется небольшой запас (как описано в этой статье). Один из способов решения этой проблемы — использовать отрицательную маржу.
Шаг 5: добавьте отрицательную маржу. Величина отрицательной маржи должна определяться по следам и ошибкам.(В CSS есть так много обходных путей. Плохо.)
Шаг 6: центрируйте панель навигации.
ОК, готово.
Простая горизонтальная навигация | CSS фрагменты
Примечание: Этот пост был написан более трех лет назад, а это были годы веб-разработки, то есть вечность. Я переделал фрагмент, чтобы использовать лучший CSS.
В этом уроке я исследую два разных метода горизонтальной навигации на больших экранах. Фрагмент адаптивный.Он создаст вертикальное меню на маленьких экранах и горизонтальное меню на больших экранах.
См. Простую адаптивную горизонтальную навигацию Pen от Лизы (@lisa_c) на CodePen.
Предпочитаемый метод обучения?
Фрагменты кода
Если вам просто нужен код и не нужно описание.
Просмотр видео
Если вам нравится, как что-то работает, с пояснением, посмотрите видео.
Чтение описания
Если вы научитесь лучше читать, я включаю расшифровку видео с соответствующими встроенными фрагментами кода.
Только код
См. Pen Simple Responsive Horizontal Navigation от Лизы (@lisa_c) на CodePen.
См. Простую адаптивную горизонтальную навигацию Pen от Лизы (@lisa_c) на CodePen.
Видео
Выписка
Начнем с HTML. У меня простой неупорядоченный список ссылок. Каждый элемент списка имеет имя класса, связанное с его именем.
Я буду использовать подход, ориентированный на мобильные устройства, и начну оформлять этот список как вертикальную навигацию, чтобы он хорошо смотрелся на телефонах и планшетах меньшего размера.
Я убираю поля и отступы и сначала задаю цвет фона для тела.
кузов {
маржа: 0;
отступ: 0;
фон: #ccc;
}
Затем я задам стиль для списка, чтобы удалить маркеры и присвоить ему цвет фона. Я хочу, чтобы текст был по центру. Он еще не выглядит идеально центрированным, но если я удалю прокладку, оно будет. Очистка поля заставит его охватить верхнюю часть страницы, которую я хочу.
Я нацелен на ul
внутри .nav
, потому что мне, вероятно, нужен другой стиль для неупорядоченных списков, не связанных с навигацией.
.nav ul {
стиль списка: нет;
цвет фона: # 444;
выравнивание текста: центр;
отступ: 0;
маржа: 0;
}
В элементах списка внутри nav ( .nav li
) я установлю типографику.
.nav li {
семейство шрифтов: «Освальд», без засечек;
размер шрифта: 1.2em;
высота строки: 40 пикселей;
высота: 40 пикселей;
нижняя граница: 1px solid # 888;
}
Я устанавливаю высоту строки
и высоту
на 40 пикселей
, чтобы текст был центрирован по вертикали в каждой строке.Я также даю тонкую границу, чтобы различать линии.
Наконец, я отключу подчеркивание и сделаю текст в ссылках белым.
nav a {
текстовое оформление: нет;
цвет: #fff;
}
Опять же, я нацелен только на теги привязки внутри .nav
, потому что я не хочу предполагать, что все теги привязки будут иметь такой стиль.
Ссылки доступны только тогда, когда я нахожусь над словами в ссылке. Я хочу, чтобы ссылка охватывала весь блок.Поэтому мне нужно добавить display: block
к этим ссылкам. Теперь я могу щелкнуть в любом месте, чтобы перейти на другую страницу.
Я хочу изменить цвет при наведении курсора на ссылку. Я могу сделать это с помощью этого:
nav a: hover {
цвет фона: # 005f5f;
}
Было бы неплохо иметь небольшой эффект перехода при наведении курсора, поэтому я добавлю это.
переход: .3s цвет фона;
Я добавляю его в тег a
, а не в селектор hover
.Это позволит переходу происходить как при наведении указателя мыши на ссылку, так и при удалении указателя мыши.
Последнее, что я хочу сделать, прежде чем стилизовать более широкую экранную навигацию и сделать ее горизонтальной, — это стилизовать активный класс.
У меня сейчас активный класс по ссылке «новости». Я могу оформить этим активные ссылки.
a.active {
цвет фона: #fff;
цвет: # 444;
}
Но у нас проблема при наведении курсора на активную ссылку.Я не хочу, чтобы этот цвет изменился. Поэтому я добавлю .nav
в начале, чтобы этот селектор имел более конкретную специфику и переопределил ранее определенный .nav a: hover
.
Я хочу изменить курсор : по умолчанию;
, поэтому не похоже, что нажатие на эту ссылку ни к чему не приведет.
Итак, все работает нормально, и это будет хорошо смотреться на телефоне. Однако на более широком экране это выглядит странно.
Когда экран больше 600 пикселей, я хочу переключиться на горизонтальную навигацию, так что это будет моя точка останова.
Все, что меньше 600 пикселей, будет отображать навигацию по вертикали, а все с большим разрешением — по горизонтали.
Я могу добавить медиа-запрос.
@media screen и (min-width: 600px) {
}
Затем я могу настроить таргетинг на .nav li
внутри медиа-запроса. Поэтому на экране шириной не менее 600 пикселей он будет использовать этот код:
.nav li {
ширина: 120 пикселей;
нижняя граница: нет;
высота: 50 пикселей;
высота строки: 50 пикселей;
размер шрифта: 1.4em;
}
Я делаю каждый пункт меню шириной 120 пикселей, так как их 5, а 5 * 120 — 600. Я удаляю границу и увеличиваю текст меню и панель.
Если мы немного сдвинем область просмотра, то увидим, как она изменится.
Теперь у нас есть два варианта сделать это горизонтальным. Один вариант — отобразить элементы списка как inline-block
, а другой вариант — использовать числа с плавающей запятой. Первый способ проще, но у вас может быть причина использовать числа с плавающей запятой, поэтому я объясню оба варианта.Любой из вариантов будет работать в IE8, однако IE8 не распознает медиа-запрос. Позже нам нужно будет скопировать этот код в таблицу стилей только для IE8.
Несмотря на то, что я все еще нацелен на селектор .nav li
, я помещу другой код параметра за пределами этого первого выбора, чтобы я мог легко различать эти два варианта.
Если я добавлю
.nav li {
дисплей: встроенный блок;
}
навигация работает неплохо.У нас есть небольшая проблема шириной около 600 пикселей, когда последний пункт меню переходит на другую строку. Кроме того, если я наведу курсор на другие элементы, вы увидите, что у нас есть небольшой промежуток серого цвета. Это потому, что при использовании встроенного блока
вводится небольшой запас. Мы можем с этим справиться, добавив небольшую отрицательную маржу.
margin-right: -4px;
А теперь все отлично выглядит.
Итак, этот метод работает, и мы могли бы остановиться на этом.Я не уверен, есть ли у этого обратная сторона, но вам может понадобиться другой вариант и посмотреть, как будут работать поплавки.
.nav li {
плыть налево;
}
И это почти работает, но пропала серая полоса. Это связано с тем, что родительский элемент рухнул, когда дочерние элементы были выведены из потока путем их перемещения.
Если я включу выделение при предварительном просмотре, вы увидите каждый тег li
с его рамкой. Но тег ul — это всего лишь одна строка, которая означает, что она свернута.
Есть множество способов исправить это, и у меня есть целое видео, объясняющее все способы. В этом случае я просто добавлю
.nav ul {
перелив: авто;
}
, который прост и будет работать.
Однако у нас есть новая проблема, и это то, что навигация больше не центрирована. В зависимости от вашего веб-сайта это может не быть проблемой. Но если мы хотим исправить это, мы можем добавить это:
ширина: 600 пикселей;
маржа: 0 авто;
, чтобы отцентрировать его.
И последнее изменение — сделать всю панель nav
темно-серым цветом, чтобы она расширялась.
Итак, метод inline-block намного меньше кода и проще. Но я подумал, что было бы полезно увидеть оба метода. Раньше я всегда использовал метод float
, и его правильное использование иногда вызывало головную боль.
Наконец, этот код хорошо работает во всех современных браузерах, включая IE9 и выше. Если бы мы посмотрели на это в IE8, мы бы увидели только вертикальную навигацию, подобную этой, независимо от ширины экрана, потому что IE8 не распознает медиа-запросы.
Чтобы заставить его работать в IE8, мы можем использовать условную таблицу стилей и добавить код, который мы только что добавили в наш медиа-запрос.
.nav li {
ширина: 120 пикселей;
нижняя граница: нет;
высота: 50 пикселей;
высота строки: 50 пикселей;
дисплей: встроенный блок;
маржа слева: -4px;
}
Это никогда не будет отображать вертикальную навигацию в браузерах IE, но маловероятно, что кто-то, использующий IE, будет просматривать это на телефоне, так что все должно быть в порядке.
Если бы я сначала стилизовал горизонтальное меню, нам не понадобилась бы таблица стилей для IE. Я мог бы использовать max-width
вместо min-width
и изменить способ написания кода. Но я хотел использовать прежде всего мобильный подход. Код в итоге оказался проще, чем когда я изначально подходил к нему с большого экрана.
Надеюсь, это было полезно. Если у вас есть вопросы, напишите их на css-snippets.com.
Панель навигации CSS— TutorialBrain
Главная »CSS» Панель навигации CSS
Панель навигации CSS представляет собой комбинацию списков и ссылок.
Как начать создание панелей навигации
Шаг 1 : Создайте неупорядоченный список, как показано ниже —
- На главную
- О нас
- Сообщество
- Карьера
Step2 : Добавьте ссылок к элементам списка с помощью тега < a > , чтобы элементы списка стали интерактивными.
Step3 : Удалите стиль из списка, который делает его похожим на маркированный список.
# ul-nb { стиль списка: нет; }
Примечание. Также можно использовать list-style-type: none .
Step4 : Вы можете установить другие свойства, связанные со стилем, для элементов списка в зависимости от того, что вы хотите —
- Свойства с плавающей запятой, например float: left
- Цвет фона списка ссылок
- Margin, Padding properties — Вы может потребоваться установить значения Margin и Padding как 0, если требуется.
- Свойства, связанные с шириной и высотой
- text-decoration: none часто используется для удаления подчеркивания из ссылки
- overflow: hidden часто используется для остановки элементы списка должны выходить за пределы списка
- свойство выравнивания текста и т. д.
Примечание / информация:
1.Вы можете использовать
Например:
2.ИЛИ Вы также можете использовать тег внутри тега
Например:
, но вы должны иметь в виду, что если вы используете 2-й формат, вы должны использовать —
, чтобы вся область ссылок была интерактивной.
Пример создания панелей навигации
# ul-nb { стиль списка: нет; маржа: 2 пикселя; отступ: 3 пикселя; } # ul-nb li { плыть налево; отступ: 10 пикселей; фон: оранжевый; выравнивание текста: центр; маржа слева: 5 пикселей; } # ul-nb li: hover { фон: красный; непрозрачность: 0,8; цвет белый; }
Горизонтальная панель навигации
Горизонтальная панель навигации также называется «Горизонтальная панель навигации».По сути, это панель навигации, которая находится в горизонтальном направлении по оси X.
Есть 3 способа создания горизонтальных панелей навигации —
- Создание элементов списка как Float без использования дисплея как блока .
- Создание элементов списка как Float с отображением как блока .
- Использование элементов списка как в строке .
Мы уже показали простой способ создания горизонтальной панели навигации без отображения в виде блока (опция 1 )
Давайте посмотрим, как создать горизонтальную панель навигации с помощью опции 2 и 3 .
Горизонтальная навигация с использованием плавающего режима и отображения в качестве блока
Свойство float часто используется со свойством display: block, чтобы элементы располагались бок о бок по горизонтали, а свойства ширины и высоты можно было легко установить.
Пример горизонтальной навигации с использованием плавающего режима и отображения в качестве блока
# ul-nb { стиль списка: нет; переполнение: скрыто; фон: красный; маржа: 0; отступ: 0; } # ul-nb li a { выравнивание текста: центр; отступ: 10 пикселей; ширина: 80 пикселей; } # ul-nb li { плыть налево; } # ul-nb li: hover { фон: коричневый; } a { дисплей: блок; }
Горизонтальная навигация с использованием отображения как встроенного
Если вы создаете горизонтальную панель навигации, используя отображение как встроенное, вы не сможете применить свойства ширины и высоты.
Встроенный дисплей не влияет на свойства ширины и высоты.
# ul-nb { стиль списка: нет; } # ul-nb li { дисплей: встроенный; отступ: 10 пикселей; фон: синий; цвет белый; выравнивание текста: центр; маржа слева: 5 пикселей; } # ul-nb li: hover { фон: красный; цвет: желтый; }
Горизонтальные панели навигации путем создания разделителей
Вы можете создавать разделители между меню.Посмотрим, как —
.navigation-menu ul { отступ: 0 пикселей; маржа: 0px; } ul { отступ: 0; переполнение: скрыто; цвет фона: голубой; } li { плыть налево; } li a { дисплей: встроенный блок; черный цвет; выравнивание текста: центр; отступ: 10 пикселей 20 пикселей; текстовое оформление: нет; } li a: hover { цвет фона: грифельно-синий; } #navigation ul { размер шрифта: 1.4em; } #navigation ul li { дисплей: встроенный; цвет белый; } #navigation li: not (: first-child): before { содержание: "|"; }
Подробнее Пример горизонтальных панелей навигации
.navigation-menu ul { отступ: 0 пикселей; маржа: 0px; } ul { отступ: 0; переполнение: скрыто; цвет фона: черный; } li { плыть налево; тип-стиль-список: нет; } li a { дисплей: встроенный блок; цвет белый; выравнивание текста: центр; отступ: 10 пикселей 20 пикселей; текстовое оформление: нет; } li a: hover { цвет фона: малиновый; } #navigation ul { размер шрифта: 1.5em; }
Объяснение случайной темы здесь
# ul-nb { стиль списка: нет; переполнение: скрыто; фон: цвет морской волны; маржа: 0; отступ: 0; ширина: 100 пикселей; } # ul-nb li a { padding-bottom: 5 пикселей; ширина: 80 пикселей; } # ul-nb li: hover { фон: коричневый; } a { дисплей: блок; }
Вертикальная панель навигации с активной ссылкой
Объяснение случайной темы здесь
body { маржа: 0; отступ: 0; } # ul-nb { стиль списка: нет; граница: 2 пикселя сплошного синего цвета; радиус границы: 5 пикселей; переполнение: скрыто; фон: светло-серый; маржа: 0; отступ: 0; ширина: 150 пикселей; } # ul-nb li a { выравнивание текста: слева; текстовое оформление: нет; отступ: 10 пикселей; } # ul-nb li: hover { фон: коричневый; } a { дисплей: блок; } .active-link { фон: серый; }
Подробнее Пример вертикальных панелей навигации
.navigation-menu ul { отступ: 0 пикселей; маржа: 0px; } ul { отступ: 0; переполнение: скрыто; цвет фона: черный; } li { тип-стиль-список: нет; } li a { дисплей: блок; цвет белый; выравнивание текста: слева; отступ: 10 пикселей 20 пикселей; текстовое оформление: нет; } li a: hover { цвет фона: малиновый; } #navigation ul { размер шрифта: 1.5em; }
Большинство современных веб-сайтов имеют логотип либо —
- Верхний левый угол
- Верхний центр
- Верхний правый угол
Вы можете использовать такие свойства, как —
- line-height property- Установить свойство высота строки пунктов меню.
- float свойство: Вы можете использовать код float: left , чтобы переместить логотип в верхний левый угол, float: right , чтобы переместить логотип в верхний правый угол.
Ниже приведен пример панели навигации с логотипом, при этом панель навигации находится в центре.
.nav-bar { цвет фона: светло-серый; высота: 56 пикселей; ширина: 100%; выравнивание текста: центр; } .nav-bar img { плыть налево; } .nav-bar ul { отступ: 0; маржа: 0; } .nav-bar li { стиль списка: нет; отступ: 0; дисплей: встроенный блок; } .nav-bar li a { текстовое оформление: нет; добавление: 15px; цвет: # e25822; высота строки: 55 пикселей; } # nav-container { ширина: 100%; маржа: 0; добавление: 0; } тело { маржа: 0; отступ: 0; }
Примечание / информация / успех Если просто добавить float: left; в неупорядоченном списке, строка меню переместится влево.× Закрыть оповещение
В этом примере мы покажем вам, как создать фиксированную панель навигации. Это означает, что мы собираемся закрепить панель навигации в одном месте, даже когда пользователь прокручивает веб-страницу.
Советы:
- Используйте позицию : fixed для неупорядоченного списка (ul)
- Удалите стиль из списка, используя list-style-type: none
- Используйте display: block для анкеров
Пример фиксированной панели навигации
.fix-navigation-menu ul { отступ: 0 пикселей; маржа: 0px; размер шрифта: 1.5em; } ul { положение: фиксированное; цвет фона: черный; } li { тип-стиль-список: нет; } li a { дисплей: блок; цвет белый; выравнивание текста: слева; отступ: 10 пикселей 20 пикселей; текстовое оформление: нет; } li a: hover { цвет фона: малиновый; } .textalignval { плыть налево; отступ: 1px 200px; ширина: 60%; высота: 300 пикселей; }
Боковое меню навигации
Приведенный выше пример также является примером меню навигации боковой панели.
Если вы удалите display: block , панель навигации будет иметь не полную высоту, а автоматическую высоту.
Вы можете добавить overflow-x: auto , чтобы добавить горизонтальную прокрутку, которая появится только в случае переполнения, иначе вы также можете добавить overflow-x: hidden , чтобы скрыть горизонтальную прокрутку.
Пример меню навигации боковой панели
.fix-navigation-menu ul { отступ: 0 пикселей; маржа: 0px; размер шрифта: 1.5em; } ul { положение: фиксированное; / * Исправляем положение даже при прокрутке * / цвет фона: черный; } li { тип-стиль-список: нет; / * Удалить в тип стиля * / } li a { цвет белый; выравнивание текста: слева; отступ: 2 пикселя; текстовое оформление: нет; / * Удалить, чтобы увидеть результат * / } li a: hover { цвет фона: малиновый; } .textalignval { плыть налево; / * Нет эффекта, если display: block * / отступ: 1px 200px; ширина: 60%; высота: 300 пикселей; }
Раскрывающееся меню навигации
justify-content: space-between выравнивает гибкие элементы вдоль главной оси таким образом, что каждые 2 следующих друг за другом элемента имеют равные промежутки между ними.Это означает, что перед первыми элементами Flex и после последних элементов Flex нет дополнительного места.
Советы:
- Скрыть пункты меню в начале, скрыв неупорядоченный список внутри основных меню с помощью —
- Отображение элементов внутри каждого меню по вертикали и положения каждого элемента должен быть относительно других элементов. Вот такой код —
li: hover ul { дисплей: блок; позиция: абсолютная; }
- Не перемещать список вправо или влево.Добавьте поплавок : нет
Предупреждение / Опасность / Информация / Успех Не используйте visibility: hidden вместо display: none , потому что display: none удаляет элемент из потока макета и не занимает пространство, в то время как видимость : скрытый скрывает элементы, но занимает пространство × Закрыть оповещение
Пример выпадающего меню навигации
ul { стиль списка: нет; отступ: 2 пикселя; } ul li { дисплей: блок; плыть налево; } li ul { дисплей: нет; } ul li a { дисплей: блок; цвет фона: # 0076B9; отступ: 10 пикселей; текстовое оформление: нет; цвет белый; ширина: 100 пикселей; граница: сплошной красный 1px; } ul li a: hover { цвет фона: # 0076B9; цвет белый; } li: hover ul { дисплей: блок; позиция: абсолютная; } li: hover li { float: нет; } li: hover a { цвет фона: # 94C548; черный цвет; } li: hover li a: hover { фон: черный; ширина: 100 пикселей; }
Адаптивная панель навигации
Важно создать панель навигации, которая будет хорошо смотреться на всех размерах устройств, сделав ее отзывчивой.
Лучший способ сделать панели навигации адаптивными — это использовать Media Queries
.Пример адаптивной панели навигации
* { размер коробки: рамка-рамка; } тело { маржа: 0px; семейство шрифтов: 'грузия'; } .responsive-navbar { ширина: 100%; высота: 50 пикселей; цвет фона: # 117DA9; положение: относительное; } .responsive-navbar .res-menu { дисплей: встроенный блок; } .responseive-navbar> .res-menu> .navvalue { дисплей: встроенный блок; размер шрифта: 22 пикселя; цвет: золото; отступ: 15 пикселей; } .responsive-navbar> .res-navbtn { дисплей: нет; } .responsive-navbar> .resnavbar-links { дисплей: встроенный; float: right; размер шрифта: 18 пикселей; } .responsive-navbar> .resnavbar-links> a { дисплей: встроенный блок; отступ: 13px 10px 13px 25px; текстовое оформление: нет; цвет белый; размер шрифта: 22 пикс. } .responseive-navbar> .resnavbar-links> a: hover { цвет фона: золото; черный цвет; } .responsive-navbar> # resnavbar-type { дисплей: нет; } @media all and (max-width: 650px) { .responsive-navbar> .res-navbtn { дисплей: встроенный блок; позиция: абсолютная; вправо: 0 пикселей; верх: 0px; } .responsive-navbar> .res-navbtn> label { дисплей: встроенный блок; ширина: 50 пикселей; высота: 50 пикселей; отступ: 12 пикселей; } .responseive-navbar> .res-navbtn> label: hover, .nav # resnavbar-type: checked ~ .res-navbtn> label { цвет фона: золото; } .responsive-navbar> .res-navbtn> label> span { дисплей: блок; ширина: 25 пикселей; высота: 10 пикселей; border-top: сплошной белый цвет 2 пикселя; } .responsive-navbar> .resnavbar-links { позиция: абсолютная; дисплей: блок; ширина: 100%; цвет фона: # 1ba1d6; высота: 0 пикселей; переполнение-y: скрыто; верх: 50 пикселей; слева: 0px; } .responseive-navbar> .resnavbar-links> a { дисплей: блок; ширина: 100%; } .responsive-navbar> # resnavbar-type: not (: checked) ~ .resnavbar-links { высота: 0 пикселей; } .responsive-navbar> # resnavbar-type: checked ~ .resnavbar-links { высота: 100vh; переполнение-у: авто; контур: 2 пикселя из чистого золота; } }
Создание меню на HTML и CSS
Если ваш веб-сайт не ограничен одной веб-страницей, вам следует подумать о добавлении панели навигации (меню).Раздел меню веб-сайта разработан, чтобы помочь посетителю перемещаться по сайту. Любое меню — это список ссылок, ведущих на внутренние страницы сайта. Самый простой способ добавить панель навигации на сайт — создать меню с помощью CSS и HTML.
Вертикальное меню
Первым шагом в создании вертикального меню является создание неупорядоченного списка. Нам также нужно иметь возможность идентифицировать список, поэтому мы добавим к нему атрибут id
с идентификатором navbar
.Каждый элемент
нашего списка будет содержать одну ссылку:
Наша следующая задача — сбросить стили списка, установленные по умолчанию. Нам нужно удалить внешние и внутренние отступы возле списка и маркеры в элементах списка.Затем установите желаемую ширину:
#navbar { маржа: 0; отступ: 0; тип-стиль-список: нет; ширина: 100 пикселей; }
А теперь пора стилизовать сами ссылки. Мы добавим к ним цвет фона, изменим параметры текста: цвет, размер и насыщенность шрифта, удалим подчеркивание, добавим небольшие отступы и переопределим отображение элемента
со строчного на блочный. Кроме того, к элементам списка добавлены левая и нижняя рамки.
Самая важная часть наших изменений — это переопределение встроенных элементов для блокировки. Теперь наши ссылки занимают все доступное пространство элементов списка, то есть для перехода по ссылке нам больше не нужно наводить курсор точно на текст.
#navbar a { цвет фона: # 949494; цвет: #fff; отступ: 5 пикселей; текстовое оформление: нет; font-weight: жирный; граница слева: 5 пикселей твердое тело # 33ADFF; дисплей: блок; } #navbar li { граница слева: твердое тело 10 пикселей # 666; нижняя граница: твердое тело 1px # 666; }
Мы объединили весь код, описанный выше, в один пример, теперь, нажав на кнопку Попробуйте
, вы можете перейти на страницу с образцом и увидеть результат:
Попытайся »Заголовок страницы <стиль> #navbar { маржа: 0; отступ: 0; тип-стиль-список: нет; ширина: 100 пикселей; } #navbar li { граница слева: твердое тело 10 пикселей # 666; нижняя граница: твердое тело 1px # 666; } #navbar a { цвет фона: # 949494; цвет: #fff; отступ: 5 пикселей; текстовое оформление: нет; font-weight: жирный; граница слева: 5 пикселей твердое тело # 33ADFF; дисплей: блок; }
Когда вы наводите указатель мыши на пункт меню, его внешний вид может измениться, привлекая внимание пользователя.Вы можете создать этот эффект, используя псевдокласс : hover
.
Вернемся к предыдущему примеру вертикального меню и добавим в таблицу стилей следующее правило:
#navbar a: hover { цвет фона: # 666; граница слева: 5 пикселей твердое тело # 3333FF; }Попытайся »
Горизонтальное меню
В предыдущем примере мы рассмотрели вертикальную панель навигации, которая чаще всего находится на сайтах слева или справа от области основного содержимого.Однако меню с навигационными ссылками также часто располагается горизонтально вверху веб-страницы.
Вы можете создать горизонтальное меню, стилизовав обычный список. Свойство display
для элементов
должно быть установлено на inline
, чтобы элементы списка располагались один за другим.
Чтобы разместить пункты меню по горизонтали, сначала создайте неупорядоченный список со ссылками:
Давайте напишем для нашего списка пару правил, которые сбрасывают стиль, используемый для списков по умолчанию, и переопределяют элементы списка с блока на встроенный:
#navbar { маржа: 0; отступ: 0; тип-стиль-список: нет; } #navbar li {display: inline; }Попытайся »
Теперь нам нужно только определить дизайн стиля для нашего горизонтального меню:
#navbar { маржа: 0; отступ: 0; тип-стиль-список: нет; граница: 2px solid # 0066FF; радиус границы: 20 пикселей 5 пикселей; ширина: 550 пикселей; выравнивание текста: центр; цвет фона: # 33ADFF; } #navbar a { цвет: #fff; отступ: 5 пикселей 10 пикселей; текстовое оформление: нет; font-weight: жирный; дисплей: встроенный блок; ширина: 100 пикселей; } #navbar a: hover { радиус границы: 20 пикселей 5 пикселей; цвет фона: # 0066FF; }Попытайся »
Раскрывающееся меню
Меню, которое мы создадим, будет иметь основные навигационные ссылки, расположенные на горизонтальной панели навигации, и подпункты, которые будут отображаться только после наведения курсора мыши на пункт меню, к которому эти подпункты относятся.
Сначала нам нужно создать структуру HTML нашего меню. Основные навигационные ссылки мы разместим в неупорядоченном списке:
Мы поместим подпункты в отдельный список, заключив его в элемент
, который содержит родительскую ссылку на подпункты.Теперь у нас есть четкая структура для нашей будущей панели навигации:
Попытайся »
Теперь приступим к написанию кода CSS.Для начала вам нужно скрыть список подпунктов с помощью дисплея
, чтобы они не появлялись на веб-странице все время. Чтобы отобразить подпункты, нам нужно преобразовать список в элемент блока при наведении курсора на элемент display: none;
:
#navbar ul {display: none; } #navbar li: hover ul {display: block; }
Удалите отступы и маркеры по умолчанию из обоих списков. Элементы списка с навигационными ссылками сделаны плавающими, образуя горизонтальное меню, но для пунктов списка, содержащих подпункты, установите
, чтобы они отображались друг под другом. float: none;
#navbar, #navbar ul { маржа: 0; отступ: 0; тип-стиль-список: нет; } #navbar li {float: left; } #navbar ul li {float: none; }
Затем нам нужно убедиться, что наше раскрывающееся подменю не перемещает содержимое под панелью навигации вниз. Для этого мы установим элементы списка на
и список, содержащий позицию position: relative;
и добавьте свойство : absolute;
top
со значением 100%
, чтобы подменю с абсолютным позиционированием отображалось точно под ссылкой.
#navbar ul { дисплей: нет; позиция: абсолютная; верх: 100%; } #navbar li { плыть налево; положение: относительное; } #navbar {высота: 30 пикселей; }Попытайся »
Высота для родительского списка была добавлена специально, так как браузеры не принимают во внимание содержимое элемента как плавающее, то без добавления высоты наш список будет игнорироваться браузером, и содержимое, следующее за списком, будет перемещаться по нашему меню.
Теперь нам нужно стилизовать оба наших списка, и выпадающее меню будет готово:
#navbar ul { дисплей: нет; цвет фона: # f90; позиция: абсолютная; верх: 100%; } #navbar li: hover ul {display: block; } #navbar, #navbar ul { маржа: 0; отступ: 0; тип-стиль-список: нет; } #navbar { высота: 30 пикселей; цвет фона: # 666; отступ слева: 25 пикселей; минимальная ширина: 470 пикселей; } #navbar li { плыть налево; положение: относительное; высота: 100%; } #navbar li a { дисплей: блок; отступ: 6 пикселей; ширина: 100 пикселей; цвет: #fff; текстовое оформление: нет; выравнивание текста: центр; } #navbar ul li {float: none; } #navbar li: hover {цвет фона: # f90; } #navbar ul li: hover {цвет фона: # 666; }Попытайся »
Создание центрированной горизонтальной навигации — CSS Wizardry — Оптимизация веб-производительности
Написано Гарри Робертсом на CSS Wizardry .
Содержание- Демо
- Обновление
Центрировать элементы уровня блока легко, просто определите ширину и установите margin: 0 auto;
, г.
но что, если вы не знаете эту фиксированную ширину? Вы можете использовать text-align: center;
но это не сработает и для блочных элементов со 100% шириной …
работать с элементами текстового уровня.
По возможности всегда следует избегать явного определения ширины и высоты,
так как это сделает документ менее ориентированным на будущее, гибким и
расширяемый … Предположим, у вас есть четыре пункта в меню навигации — вы можете работать
вне их ширины и используйте поле : 0 auto;
, чтобы отцентрировать их.Добавление пятого
увеличит ширину, а это значит, что вам также придется изменить CSS. Это далеко
от идеала, и более того, с помощью CMS для управления сайтом (клиент может добавлять страницы,
но, возможно, не могу редактировать CSS).
Однако есть способ иметь центрированную горизонтальную навигацию без указания явной ширины и без добавления CSS. Это также замечательно просто.
В разметке:
Довольно стандартный, неупорядоченный список пунктов меню.CSS — вот где это. Я выделил те части, которые выполняют большую часть работы:
.nav {
граница: 1px solid #ccc;
ширина границы: 1px 0;
стиль списка: нет;
маржа: 0;
отступ: 0;
выравнивание текста: по центру;
}
.nav li {
дисплей: встроенный;
}
.nav a {
дисплей: встроенный блок;
отступ: 10 пикселей;
}
Я просто создал список навигации и присвоил ему верхнюю границу.
и снизу (просто чтобы выделить его центрированный текст).Вместо того, чтобы плавать уровня блока
сек. Я дал им display: inline;
, то есть
они больше не занимают 100% доступной ширины и теперь хорошо складываются
друг против друга.
Далее мы используем (очень редко используемый) display: inline-block;
, чтобы убедиться, что ссылки
сами по себе не переходят на новые строки, но по-прежнему подчиняются любым значениям заполнения
соответственно. Здесь я увеличил область попадания, добавив отступ : 10px;
При желании вы могли бы применить встроенный блок к
s.тем не мение
IE6-7 позволит встроенному блоку
работать только с элементами, которые по своей сути
встроенные элементы. Дисплей : строчно-блочный;
не будет работать с элементами блочного уровня.
Вот небольшая демонстрация. Попробуйте использовать Firebug или подобное, чтобы добавить другие элементы списка на лету и наблюдайте, как они плавно центрируются в списке. я протестировали это в IE7-8, чтобы убедиться, что он отлично работает. Я не проверял IE6, но Думаю, все будет хорошо.
Обновление
Вы спросили, и я услышал; Я сделал раскрывающуюся версию этого
для тебя.По строке верх: 100%;
заставит раскрывающийся список работать в IE7, но вроде как
немного портит работу во всех других браузерах. Оставляете ли вы его в или
не зависит от вас. Опять же, просмотрите исходный код с практическими рекомендациями…
☕️ Это помогло? Купи мне кофе!
Создание панелей навигации с помощью списков CSS | Учебник CSS
Каждому веб-сайту необходима навигационная панель, которая помогает посетителям перемещаться по сайту. Обычно это достигается путем размещения верхней горизонтальной панели навигации или боковой вертикальной панели навигации.
Панели навигации создаются с использованием списков HTML в сочетании с CSS, чтобы они больше походили на меню с несколькими параметрами.
Пример:
Вертикальная панель навигации
Простой список — это вертикальная панель навигации, если мы сделаем каждый элемент списка гиперссылкой.
Приведенный выше список можно стилизовать, добавив несколько простых свойств CSS:
CSS:
#navbar {
тип-стиль-список: нет;
маржа: 0;
отступ: 0;
ширина: 200 пикселей;
цвет фона: #EEEEEE;
}
ul # navbar li a {
дисплей: блок;
цвет: # 000000;
font-weight: жирный;
отступ: 8 пикселей 16 пикселей;
текстовое оформление: нет;
}
ul # navbar li a: hover {
цвет фона: оранжевый;
цвет белый;
}
Всегда предпочтительно использовать какой-нибудь id
или class
для создания такого стиля.Потому что, если мы напрямую стилизуем элементы ul
и li
, как в примере ниже,
ul {
тип-стиль-список: нет;
маржа: 0;
отступ: 0;
ширина: 200 пикселей;
цвет фона: #EEEEEE;
}
li a {
дисплей: блок;
цвет: # 000000;
font-weight: жирный;
отступ: 8 пикселей 16 пикселей;
текстовое оформление: нет;
}
li a: hover {
цвет фона: оранжевый;
цвет белый;
}
, то все списки на нашем веб-сайте будут выглядеть как панель навигации, в то время как нам нужна только одна панель навигации на нашем веб-сайте, поэтому мы использовали идентификатор navbar
в нашем списке, что означает, что только элемент списка с navbar
идентификатор должен иметь такой стиль.
ul # navbar
означает элемент списка ul
с id = "navbar"
Живой пример →
Горизонтальная панель навигации
Когда мы создаем горизонтальную панель навигации, главный вопрос заключается в том, как преобразовать базовый список, который является вертикальным, в горизонтальный список. Это можно сделать двумя способами:
Использование дисплея
: встроенный
Мы можем использовать свойство CSS display: inline;
, чтобы удалить разрыв строки до и после каждого элемента списка, потому что по умолчанию элементы списка имеют свойство display: block; К ним добавлен
.
ul # navbar li {
дисплей: встроенный;
}
Живой пример →
Использование
float: слева
Другой способ создания горизонтальной панели навигации — это добавление float: left;
свойство CSS для всех элементов списка. Следовательно, они выстроятся в линию.
Вот код CSS:
#navbar {
тип-стиль-список: нет;
маржа: 0;
отступ: 0;
переполнение: скрыто;
цвет фона: #EEEEEE;
}
ul # navbar li {
плыть налево;
}
ul # navbar li a {
дисплей: блок;
цвет: # 000000;
font-weight: жирный;
отступ: 8 пикселей 16 пикселей;
текстовое оформление: нет;
}
Ниже мы объяснили, почему мы использовали то, что использовали в приведенном выше коде CSS, начиная с элементов списка:
-
поплавок: левый;
→ Чтобы все элементы списка перемещались влево, отображая их в строке. -
переполнение: скрыто;
→ Теперь, когда все элементы списка имеют свойствоfloat: left
добавлено к ним, поэтому элементы списка больше не будут внутри спискаul
, в результате чего списокul
будет занимать минимальную высоту, которая в этом случай нулевой. Мы применили цвет фона, чтобы продемонстрировать это. Следовательно, здесь используется хакoverflow
. Мы не использовалиoverflow: auto;
, потому что он иногда добавляет полосу прокрутки, что нам не нужно. -
дисплей: блок;
→ Используя это свойство CSS, мы делаем всю область ссылок интерактивной, а не только текст ссылки. -
отступ: 8px 16px;
→ Мы добавили отступ8px 16px
, что означает, что пустое пространство8px
будет добавлено вверху и внизу ссылки, а пустое пространство16px
будет добавлено слева и справа . Мы добавляем отступы, чтобы наше меню навигации выглядело просторным и чистым.
Живой пример →
HTML / CSS.Как создать вертикальное и горизонтальное меню
Из этого туториала Вы узнаете, как создать вертикальное и горизонтальное меню в HTML с помощью стилей CSS. Прежде чем продолжить, убедитесь, что вы знакомы с HTML-тегами неупорядоченного списка. Также ознакомьтесь с руководством о том, как создать меню в HTML.
Хорошо, сначала создайте HTML-меню, используя неупорядоченный список:
Затем вам нужно создать новый файл CSS и прикрепить его к странице HTML:
Убедитесь, что вы поместили код вложения CSS в тег
своей html-страницы.Вы также можете использовать встроенные стили.
В результате у вас должен быть следующий код HTMl:
Неупорядоченный список имеет собственные стили, поэтому без дополнительных изменений у вас есть вертикальное меню.
Что касается горизонтального меню, нужно внести некоторые изменения в HTML и CSS.
Прежде всего добавьте новый класс в список, замените
- на
Теперь в файле CSS сделаем меню горизонтальным. Неупорядоченный список имеет значения полей и отступов, назначенные по умолчанию. нам нужно их очистить:
ul.horizontal { маржа: 0; отступ: 0; }
Затем сделайте так, чтобы элементы списка отображались горизонтально:
ul.horizontal li { дисплей: блок; плыть налево; отступ: 0 10 пикселей; }
Мы добавили значение горизонтального заполнения к элементам списка, чтобы они не прилипали друг к другу.Теперь ваше меню готово, назначьте ссылки, добавьте необычные цвета и фон, и все готово.
Zemez Responsive Navbar JavaScript
Демо | Скачать
У обычного пользователя нет ни времени, ни терпения, чтобы просматривать ваш сайт в поисках необходимой информации. Сложная в использовании навигация заставляет пользователя чувствовать себя неловко и может в любой момент покинуть сайт. Выберите адаптивный JavaScript для навигационной панели Zemez, чтобы избежать этих ошибок и повысить функциональность вашего веб-ресурса.
Этот JavaScript Navbar — прекрасное решение для тех, кто хочет добавить больше возможностей веб-ресурсу.