Горизонтальное CSS меню, для сайта. Часть-1.

Сегодня  мы создадим с вами, горизонтальное меню на CSS, с выпадающим списком, без использования  JS. Для демонстрации я создам пустой индексный файл и назову его css_menu.html, также нам понадобится стилевой файл. Чтобы в последствии последний можно было вставить, в паку CSS на нашем сайте, он не должен иметь похожего названия, поэтому обзовём  его так же, то есть css_menu.css соответственно указав только другое расширения.  Для наглядности в тег body я пропишу фон, в виде тетрадной клеточки, что бы лучше видеть, расположение создаваемого меню. Теперь подключаем файл CSS к HTML.

<link rel="stylesheet" type="text/css" href="css_menu.css">

Создаём маркированный список, тег <ul> и  <li>.

Сначала нам необходимо создать каркас нашего меню.  Сделаем это, в виде маркировочного списка из 6 пунктов  со ссылками, вот так:

<ul>
                <li><a  href="/">Главная</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>
                <li><a  href="/">Пункт № 5</a></li>
</ul>

Сразу в каркасе в одном из пунктов, например №2 создаём три подпункта для будущего выпадающего списка:

<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>

Так здесь понятно, если хотим создать больше подпунктов, добавляем их, если нужны ещё выпадающие пункты, прописываем их для необходимого пункта. Сохраняем и просматриваем в браузере:

Рисунок №1.

 

 Пока нечего интересного!

Создаём стили, для горизонтального меню.

Теперь давайте сразу создадим идентификатор класса для основного тега <ul>, вот так:

<ul id="css_menu">

Дальше идём, в наш файл со стилями  css_menu.css и прописав  #css_menu {  }; задаём следующие параметры.

Выравниваем все элементы по левому краю (float:left; ),  указываем ширину (width:100%;),  убираем маркеры пунктов меню  (list-style:none;), делаем текст утолщённым (font-weight:bold;). Ну и сразу можем указать наружный  отступы сверху, например  (margin-top:2px;) и с низу (margin-bottom:2px;). Обновляем страницу и смотрим. Маркеры в пунктах исчезли,  текст утолщён, отступы есть. Идём дальше.

Задаём идентификацию, для тега <li>, вот так #css_menu li{ }; и сразу говорим. Расположи все элементы с лева, (float:left;), сделай отступы для них справа (margin-right:15px;), а слева (margin-left:0;). Теперь позиционирование relative (position:relative;) и сделай его блочным элементам (display:block;). Сохраняем, обновляем и в просмотр:

Рисунок № 2.

 

Ну вот уже другое дело, теперь разберёмся с тегом <ul>? В выпадающем мню. Дополняем работу ID для него вот так  #css_menu ul{ };  сразу убираем маркеры (list-style:none;), затем позиционирование (position: absolute;), что бы скрыть его до отображения, вместо (display:none;) используем вот такой трюк (left:-9999px;), так будет лучше. Теперь зададим стартовый, или нулевой уровень прозрачности, для понимания работы параметра в будущем (opacity:0;).  И на последок сразу укажем плавность появления, или переход (transition), вот так (transition:0.25s linear opacity; ).  Лучше указать это действия, для всех браузеров (см. исход. Материал ). Идём в просмотр:

Рисунок № 3.

 

 Так всё отлично, подпункты скрылись.

Дальше начинаем оформлять пункты меню и прописываем правила отображения тега <a>, то есть ссылок. Задаём идентификацию #css_menu li a{ }; и сразу говорим браузерам. Это блочный элемент (display: block;), далее внутренний отступ вокруг текста (padding:5px 20px 5px 20px;), затем цвет текста  (color: #fff; ) и общий фон (background:#3C29FF;). Убираем подчёркивание ссылок  (text-decoration: none; ) . Текст можем сделать покрасившее и указываем одним махом, тип шрифта и его размер  (font:24px Monotype Corsiva,  Arial;).  Тень тексту тоже не помешает  (text-shadow:1px 1px 1px rgba (0,0,0,0.85);). Также можем закруглить края фона, наших пунктов (border-radius:20px;), указав эту процедуру, для всех популярных браузеров.  Обновим, предварительно сохранив и посмотрим, что получилось.

Рисунок № 4.

 

 Ну, вот наши кнопки меню на css готовы. Теперь можем добавить для них, правила отображения, при наведении (:hover).

Создаём идентификатор #css_menu li a:hover{ }; и поехали. Цвет текста при наведении ( color: #FFF08B; ),  цвет фона, с уровнем прозрачности (background: rgba(107,12,54,0.75);) и просто цвет фона, если вдруг у пользователя браузер не сможет распознать и ли понять предыдущее правило (background:#853F61; ).  Ну и пожалуй при наведении курсора, не плохо добавить подчёркивание текста (text-decoration: underline;). Идём смотреть что там получилось:

Рисунок № 5.

 

 Отлично! Пожалуй, на этом и закончим первую часть, «Горизонтальное CSS меню, для сайта». Во второй заключительной части мы доработаем, выпадающий список и запустим его.

 

Все исходные материалы, и демо-версия, доступны в «Горизонтальное CSS меню, для сайта. Часть-2».



Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.