Как создать выпадающее меню css

Адаптация выпадающего html меню под мобильные устройства

Для того чтобы данное меню стало адаптироваться под мобильные устройства нам нужно:

  1. 1.Добавить дополнительный блок с кнопкой, которая будет вызывать выпадающее меню на мобильных устройствах. Для этого перед кодом вывода меню вставляем код:

    PHP

    <div class=»mobile-menu-button»> Меню </div>

    1 <div class=»mobile-menu-button»>Меню<div>
  2. 2.Далее нам нужно убедиться что к сайту подключена библиотека jQuery.

    Более подробно о её подключении вы можете узнать в этой статье «Как подключить jQuery к сайту»

  3. 3.Добавить небольшой скрипт, который отвечает за вызов выпадающего меню при нажатии на соответствующую кнопку на маленьких экранах. Данный скрипт вставляем перед закрытием тега </body>

    PHP

    <script>
    jQuery(document).ready(function($) {
    $(‘.mobile-menu-button’).click(function(e) {
    var $message = $(‘.new-mobile-menu’);
    if ($message.css(‘left’) != ‘0px’) {
    $message.css(‘left’,’0px’);
    var firstClick = true;
    $(document).bind(‘click.myEvent’, function(e) {
    if (!firstClick && $(e.target).closest(‘.new-mobile-menu’).length == 0) {
    $message.css(‘left’,’-1000px’);
    $(document).unbind(‘click.myEvent’);
    }
    firstClick = false;
    });
    }
    e.preventDefault();
    });
    });
    </script>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    <script>

    jQuery(document).ready(function($){

    $(‘.mobile-menu-button’).click(function(e){

    var$message=$(‘.new-mobile-menu’);

    if($message.css(‘left’)!=’0px’){

    $message.css(‘left’,’0px’);

    varfirstClick=true;

    $(document).bind(‘click.myEvent’,function(e){

    if(!firstClick&&$(e.target).closest(‘.new-mobile-menu’).length==){

    $message.css(‘left’,’-1000px’);

    $(document).unbind(‘click.myEvent’);

    }

    firstClick=false;

    });

    }

    e.preventDefault();

    });

    });

    </script>

Вот, собственно говоря, и всё! Теперь осталось всё сохранить, проверить работоспособность и при необходимости внести свои правки в html и css код.
На первый взгляд кода много, но он не сложный и вы без труда сможете скорректировать его под свой сайт.

Надеюсь, что помогла вам с сознанием адаптивного выпадающего меню в html! Если статья была для вас полезной, то нажмите на кнопку одной из социальных сетей ниже чтобы поделиться ссылкой на неё. Так вы поможете мне в развитии моего проекта.

Так же заходите на мой канал YouTube, уверена, что вы найдёте там что то интересное для себя!

Успехов вам и вашим проектам! До скорых встреч в других моих статьях и видео!

С уважением Юлия Гусарь

Изучение классов CSS используемых в системе меню для WordPress

WordPress отображает меню в виде неупорядоченного списка. Если вы новичок в работе с CSS, тогда вам стоит остановиться, не читать этот пост дальше, а вместо этого почитать довольно ветхое по времени, но все еще актуальное руководство «CSS Design: Taming Lists» для того, чтобы обрести базовое понимание того, как из неупорядоченного списка создать красивое навигационное меню для своего сайта.

В этом неупорядоченном изначально списке WordPress каждому компоненту меню назначает свой класс. Есть класс для контейнера, который содержит весь неупорядоченный список; есть класс container ID, есть класс css для меню и отдельные классы для каждого типа и компонента меню с собственным css.

Для начала все это может звучать немного запутанно и непонятно, но на практике все не настолько страшно. Здесь так много отдельных классов, потому что WordPress позволяет вам задавать очень много типов меню для своего сайта. Вдруг вы захотите добавить категорию, страницу, настраиваемую внутреннюю или внешнюю ссылку. Каждый тип таких данных определен в WordPress отдельно, и так у дизайнеров есть более широкий набор опций для настройки меню в зависимости от выбранного оформления и стиля вашей темы.

Класс CSS Описание класса
.menu-item Основной класс, который добавляется к каждому пункту в меню.
.menu-item-object-{object} Этот класс добавляется к каждому пункту меню, который является объектом вида категории, ссылки или тега и т.д.
.menu-item-object-category
.menu-item-object-tag
.menu-item-object-page
.menu-item-object-{custom}
.menu-item-type-{type} Здесь параметр {Type} используется либо для параметра “post_type”, либо для параметра “taxonomy”
.menu-item-type-post_type
.menu-item-type-taxonomy
.current-menu-item Класс, который используется на странице, которую в данный момент просматривает пользователь
.menu-item-home Этот класс связан с главной страницей сайта и меню, которое на ней отображается
.page_item Обеспечивает обратную совместимость, когда меню по умолчанию возвращает к wp_page_nav
.page-item-$ID
.current_page_item

Изучение возможностей разработки на базе WordPress — процесс сравнительно легкий и увлекательный. Лично мне даже немного не верится, насколько я смог продвинуться от простого блоггера к человеку, который неплохо может разобраться в коде и работе с CSS, HTML и функциями WordPress. С навигационными меню в WordPress не так сложно справиться, как может показаться на первый взгляд. Для того, чтобы поэкспериментировать и вдохновиться на собственные шаги в этом направлении, скачайте несколько тем для WordPress и посмотрите на то, как в них заданы и работают навигационные меню.

Начиная

Чтобы начать разработку списка для навигации, вам нужно использовать список. Это может быть стандартный неупорядоченный список, который был идентифицирован как навигация:

  • Главная
  • Товары
  • Сервисы
  • Связаться с нами

Если вы внимательно посмотрите на HTML, вы заметите, что ссылка «Главная» также имеет идентификатор

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

Без CSS стилей это меню XHTML выглядит как стандартный неупорядоченный список. Есть пули, а элементы списка слегка отступы. Поскольку я использую ссылки на компоновщики, большинство браузеров не будут отображать ссылки как интерактивные (подчеркнутые и синие). Если вы вставляете этот HTML-код в веб-страницу, ваша навигация будет выглядеть так:

  • Главная
  • Товары
  • Сервисы
  • Связаться с нами

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

Второй способ

Второй способ реализации горизонтального меню заключается в превращении нашего списка в таблицу. Да да, мы не будет использовать теги table и иже с ними. Почему? Как писал выше – исторически сложившийся факт, HTML таблица не используется для построения меню, связано это, в первую очередь, с неудобством прикручивания такого меню к движку. А уж если попытаться сделать и выпадающие вкладки в пунктах, то вы получите такого «монстра», что нагнете всю дальнейшую структуру страницы в самом её начале.

Так вот, для реализации нам нужны стандартные свойства таблицы, поэтому мы воспользуемся нехитрыми манипуляциями с CSS стилями: элементу ul задаем свойство display со значением table а тегам li display — table-cell и, вуаля, перед нами уже горизонтальное меню в виде таблицы со всеми вытекающими свойствами.

Смотрим на пример с id=menu_3.

CSS, опять же, стандартный, отличаются только эти строки:

Как и в первом способе, пункты меню не будут растянуты на всю ширину нашего оберточного дива. Чтобы их растянуть следует дописать свойства table-layout — fixed и width — 100% к элементу ul. В этом случае ul растянутся на всю ширину, а элементы li станут одной ширины (смотрим пример с id=menu_4).

Шаг 2: создаем выпадающее меню

Классическое выпадающее меню обычно содержит список вложенный в родительский элемент и выглядит следующим образом:

Основная структура

Для нашего мега-меню вместо вложенных списков используем обычные DIV, которые будут работать как и любые другие вложенные элементы:

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

Контейнеры выпадающего меню

Контейнеры разного размера будут содержать весь контент. Я задал имена сообразно с количеством колонок, которое элементы содержат.

Чтобы спрятать выпадающее меню, используем posaition:absolute с отрицательным левым margin:

Наш запасной цвет фона останется тем же, что мы использовали для элементов меню. Современные браузеры отобразят градиент, который начинается с #EEEEEE наверху (чтобы совпасть с градиентом родительского элемента) к #BBBBBB внизу.

Мы вновь используем закругленные края, кроме как для левого верхнего:

Чтобы показать, давайте взглянем, как бы это выглядело, если бы мы не придали значения этой детали:

Наш пример:

Как видите, выпадающее меню отлично прикладывается к своему родительскому элементу.

Чтобы получить отличный контейнер выпадающего меню, нам нужно задать ширину для каждого:

А чтобы выпадающее меню появлялось при hover, напишем:

Используем контейнеры выпадающего меню

Наши классы готовы, мы теперь можем включить их в меню. Мы используем их все, начиная с контейнера с пятью колонками, и заканчивая контейнером с одной:

Вот превью кода сверху:

МЕНЮ

Панель иконокЗначок менюАккордеонВкладкиВертикальные вкладкиЗаголовки вкладокВкладки полностраничныеВкладки при наведенииВерхняя навигацияОтзывчивый верхний навигаторНавигация с иконкамиМеню поискаСтрока поискаФиксированная боковая панельАнимированные боковые панелиОтзывчивая боковая панельПолноэкранная навигация наложенияМеню Off-CanvasБоковые кнопки навигацииБоковая панель с иконкамиМеню с горизонтальной прокруткойВертикальное менюНижняя навигацияОтзывчивая нижняя навигацияГраницы навигацииМеню по правому краюСсылка меню по центруМеню равной шириныФиксированное менюСкольжение вниз по полосе прокруткиСкрыть меню при прокруткеУменьшить меню при прокруткеЛипкая навигацияНавигация на изображенияВыпадающее менюВыпадающий при кликеВыпадающее меню в навигацииВыпадающий список в боковой навигацииОтзывчивая навигация с выпадающимПодменю навигацияВсплывающее менюМега менюМобильное менюМеню занавесСвернуть боковой барСвернуть боковую панельПагинацияХлебные крошкиГруппа кнопокГруппа вертикальных кнопокЛипкий социальный барНавигация таблеткиОтзывчивый заголовок

HTML код горизонтального меню

Общепринятым считается создание меню с помощью стандартного списка. И так, создадим файл index.html и запишем в него следующий код:

 
<nav>
    <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>
      <li><a href="">Страница-6</a></li>
      <li><a href="">Страница-7</a></li>
    </ul>
 </nav>

Сохранив и открыв файл index.html в браузере мы увидим следующую картину:

Элементы меню стандартно расположились вертикально и у каждого элемента <li> появилась точка слева (так называемая маркером). Давайте оформим меню согласно нашим условиям.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: