Как сделать красивое выпадающее меню

Если Вы занимаетесь веб-дизайном либо у Вас есть собственный сайт (блог), то Вы знакомы с тем, как создается меню и пункты в нем. Если мы рассматриваем какую-либо систему управления сайтом (CMS), то там вручную создавать пункты меню не надо – всё делается на автомате. Это с одной стороны хорошо, а с другой стороны плохо…

Автоматическое создание меню хорошо тогда, когда пользователь вообще не имеет представления о том, что такое HTML, PHP, CSS, JavaScript. В CMS достаточно ввести названия страниц, рубрик и т.п. и меню будет сформировано. А вот плох такой режим его создания тем, что если Вам необходимо внести какие-то правки в структуру меню, то тут без специалиста уже не обойтись. Более того, даже специалисты зачастую вынуждены коренным образом переписывать код вывода меню CMS, чтобы удовлетворить желания заказчика (кстати исполнителей рекомендую искать здесь).

Скажу больше: если мы возьмем самую популярную на сегодняшний день CMS – WordPress, то названия рубрик в сайдбаре сортируются автоматически по алфавиту.

Изменить порядок их вывода без специального плагина силами самой CMS нельзя…

Если Вы хорошо знаете HTML, JavaScript, то создать меню любого вида для Вас не представляет никакой сложности. А вот если эти языки программирования Вы знаете лишь поверхностно или вовсе о них слышите впервые, то задача окажется для Вас скорее всего неподъемной, особенно если дело касается выпадающего меню.

Pure CSS Menu – онлайн генератор меню для сайта. С его помощью Вы сможете сделать выпадающее вертикальное либо горизонтальное меню с необходимым количеством подпунктов.

Пример горизонтального выпадающего меню

Выпадающее меню в данном редакторе создается на чистом HTML и CSS без использования JavaScript. Это несомненный плюс, т.к. зачастую в браузерах отключен JavaScript, и тогда Ваше меню у посетителей не будет работать так как следует.

Кому может быть полезен сервис

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

Как создать меню

Создание меню при помощи сервиса Pure CSS Menu происходит в визуальном редакторе. Для начала на вкладке «Templates» выберите необходимый шаблон меню из восьми доступных. Не обращайте пока внимания на количество пунктов и подпунктов меню, размер шрифта, цвет и пр. – всё это можно настроить, перейдя в закладку «Parameters».

Выбор шаблона меню

Настройка параметров меню

Пункты и подпункты меню, их названия, порядок следования, ссылки и пр. определяются в настройках редактора, которые можно найти, перейдя по закладке «Items». Т.к. многие не знают английского, объясню значение кнопок этого окна.

Настройка пунктов меню

1 – добавить пункт меню в конец всего списка
2 — добавить пункт меню сразу за активным (выделеным) в редакторе пунктом

3 – добавить подпункт в активный (выделеный) пункт меню
4 – удалить пункт (подпункт) меню
5 – удалить все пункты меню с подпунктам

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

Свойства пунктов меню

После того, как Вы окончательно настроите внешний вид и функциональность Вашего выпадающего меню, нажимайте кнопку «Download» и сохраняйте на своем компьютере архив со всем необходимыми файлами (для этого необходимо зарегистрироваться).


Внутри архива Вы найдете папку «images» с графическими файлами, которые используются в меню, а также файл «purecssmenu.html» со сгенерированным кодом. Загружайте папку с картинками в директорию Вашего сайта, вставляйте код меню в нужное место и наслаждайтесь отличным выпадающим меню, написанном на простом HTML + CSS.

Видеоурок по созданию выпадающего меню:

Друзья, понравился ли Вам данный сервис? Знаете ли Вы более качественные аналоги? Делитесь своими впечатлениями в комментариях.

Выпадающее меню на HTML / CSS без использования JavaScript

Очень часто необходимо сделать на сайте выпадающее при наведении меню. Большинство веб-девелоперов используют для этого JavaScript / Jquery. Это конечно хорошо, но такого роди задачи легко решаются с помощью HTML / CSS.

Вот простой пример HTML-кода меню:

<ul>
    <li><a href=#>Menu 1</a>
        <ul>
            <li><a href=#>Sudmenu 1</a></li>
            <li><a href=#>Sudmenu 1</a></li>
            <li><a href=#>Sudmenu 1</a></li>
        </ul>
    </li>
    <li><a href=#>Menu 2</a>
        <ul>
            <li><a href=#>Sudmenu 2</a></li>
            <li><a href=#>Sudmenu 2</a></li>
            <li><a href=#>Sudmenu 2</a></li>
        </ul>
    </li>
    <li><a href=#>Menu 3</a>
        <ul>
            <li><a href=#>Sudmenu 3</a></li>
            <li><a href=#>Sudmenu 3</a></li>
            <li><a href=#>Sudmenu 3</a></li>
        </ul>
    </li>
    <li><a href=#>Menu 4</a>
        <ul>
            <li><a href=#>Sudmenu 4</a></li>
            <li><a href=#>Sudmenu 4</a></li>
            <li><a href=#>Sudmenu 4</a></li>
        </ul>
    </li>
    <li><a href=#>Menu 5</a>
        <ul>
            <li><a href=#>Sudmenu 5</a></li>
            <li><a href=#>Sudmenu 5</a></li>
            <li><a href=#>Sudmenu 5</a></li>
        </ul>
    </li>
</ul>

Для построения меню был использован список с классом menu. Подменю сделаны списками с классом submenu.

Теперь давайте как-нибудь минимально оформим наше меню стилями:

body {
    font: 14px 'Verdana';
    margin: 0;
    padding: 0;
}
ul {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}
ul:after {
    display: block;
    content: ' ';
    clear: both;
    float: none;
}
ul.menu > li {
    float: left;
    position: relative;
}
ul.menu > li > a {
    display: block;
    padding: 10px;
    color: white;
    background-color: red;
    text-decoration: none;
}
ul.menu > li > a:hover {
    background-color: black;
}
ul.submenu {
    display: none;
    position: absolute;
    width: 120px;
    top: 37px;
    left: 0;
    background-color: white;
    border: 1px solid red;
}
ul.submenu > li {
    display: block;
}
ul.submenu > li > a {
    display: block;
    padding: 10px;
    color: white;
    background-color: red;
    text-decoration: none;
}
ul.submenu > li > a:hover {
    text-decoration: underline;
}

Для класса submenu было установлено свойство ‘display: none’.

Это позволило на спрятать наше выпадающее меню.

Теперь добавим в CSS такой код:

ul.menu > li:hover > ul.submenu {
    display: block;
}

Это позволит показывать подменю при наведении.

Вот и все. Просто и легко без JavaScript.

html — элементы выпадающего меню CSS располагаются горизонтально

спросил

Изменено 7 лет, 5 месяцев назад

Просмотрено 4к раз

Я искал эту проблему в stackoverflow, но ничего не нашел.

Я работал над выпадающим меню в CSS. Когда вы наводите указатель мыши на раскрывающееся меню, элементы раскрывающегося списка отображаются горизонтально, а не вертикально.

HTML

 
заголовок <ул>
  • Главная
  • Биография
  • Фото
  • Меер <ул>
  • учебники
  • инхурен
  • CSS

     /*заголовок*/
    # заголовок {
        цвет фона: #5c931ф;
    }
    #заголовок ул {
        тип стиля списка: нет;
    }
    #заголовок ли {
        ширина: 100 пикселей;
        граница: 1px сплошной черный;
        дисплей: встроенный;
        цвет фона: #000;
        цвет: #808080;
        положение: родственник;
        выравнивание текста: по центру;
    }
    #заголовок li:hover {
        цвет синий;
    }
    /*выпадающее меню*/
    .
    выпадающий ул{ дисплей: нет; } .dropdown: наведите указатель { дисплей: блок; положение: абсолютное; }

    Как сделать элементы раскрывающегося списка вертикальными?

    • HTML
    • CSS
    • раскрывающееся меню

    Вы активно объявили li для отображения встроенных здесь:

     #header li {
    ...
    дисплей: встроенный;
    ...
    }
     

    Встроенное означает, по сути, «не принудительно переходить на следующую строку». Уберите это, и он должен вернуться к поведению

    блока .

    Редактировать: раньше я не замечал вложенных li .

    Добавить:

     #header .dropdown li {
        дисплей: блок;
    }
     

    В качестве альтернативы можно выбрать только непосредственного дочернего элемента li со встроенным (обратите внимание, что это повлияет на все стили, примененные к li :

     #header > ul > li {
    ширина: 100 пикселей;
    граница: 1px сплошной черный;
    дисплей: встроенный;
    цвет фона: #000;
    цвет: #808080;
    положение: родственник;
    выравнивание текста: по центру;
    }
     

    2

    Добавьте/измените следующий код:

     . dropdown ul li{
         дисплей: блок;
    }
    .dropdown: наведите указатель {
        дисплей: встроенный;
        положение: абсолютное;
        сверху: 0;
        слева: 0;
        плыть налево;
    }
     

    Ссылка на JS Fiddle:

    http://jsfiddle.net/kr2jw577/

    Однако требуется некоторая настройка.

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя адрес электронной почты и пароль

    Опубликовать как гость

    Электронная почта

    Требуется, но никогда не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Metro UI :: Популярная библиотека HTML, CSS и JS

    Содержание

    • Меню
    • Горизонтальный
      • Раскрывающийся список
      • Нет наведения
      • Большой
      • Мега
    • Вертикальное меню
    • Меню инструментов
      • Раскрывающийся список
    • Выпадающее меню
      • Контекст
    • Горячие клавиши
    • Цвет меню

    Пользовательский интерфейс Metro предоставляет любые классы для создания разных классных меню, таких как горизонтальное, вертикальное, инструментальное и другие. Все меню имеют схожую структуру и создаются с помощью списков, элементов списков и якорей. Меню определяется классом, применяемым к корневому списку.

    Для создания горизонтального меню добавьте в список класс .h-menu .

                        <ул>
                            
  • Главная
  • Товары
  • Поддержка
  • Корзина
  •                     <ул>
                            
  • Главная
  • Товары
  • Поддержка
  • Корзина
  •                     <ул>
                            
  • Главная
  • Товары
  • Поддержка
  • Корзина
  •                     <ул>
                            
  • Главная
  • Товары
  • Поддержка
  • Корзина
  •                     <ул>
                            
  • Главная
  • Товары
    <дел> <дел>

    Интерфейс метро

    Это набор инструментов с открытым исходным кодом для разработки с. ..

    <дел>
    Начните с пользовательского интерфейса Metro
    <ул>
  • Начало работы
  • Базовый CSS
  • Компоненты
  • Утилиты
  • Поддержка
    <ул>
  • Блог
  • Форум
  • Гитхаб
  • Сообщество
  • Корзина
  • Вертикальное меню предназначено, в первую очередь, для создания боковых меню вашего сайта. Для создания вертикального меню добавьте в список класс .v-menu .

                        <ул>
                            
  • Общие
  • Главная
  • Товары
  • Windows
  • Office 365
  • Скайп
  • Поддержка
  • Сообщество
  • Магазин
  • Корзина
  • Если вам нужно создать классное компактное меню инструментов, вы можете использовать класс . t-menu .

                        <ул>
                            
  • <ул>
  • <ул>
  • <ул>
  •                     <ул>
                            
  • <ул>
  • С пользовательским интерфейсом Metro вы можете создать простое и удобное выпадающее меню для любого элемента.

    Чтобы создать выпадающее меню:

    1. Создать контейнер с позицией, отличной от статики
    2. Добавить переключатели с классом .dropdown-toggle
    3. Добавить меню с классом .d-menu и атрибут data-role="dropdown"
    4. Для отображения меню вверх добавьте класс .drop-up в меню
    5. Для отображения меню левого класса .drop-left в меню
    6. Чтобы отобразить меню справа, добавьте класс .drop-right в меню
    7. .
    8. Чтобы скрыть маркер переключения раскрывающегося списка, добавьте класс .no-marker для переключения

    Переключатель меню

                        <дел>
                            
                            
                        
    <дел> Переключатель меню
    <дел> <кнопка> <промежуток>

    Контекстное меню представляет собой своего рода выпадающее меню с уменьшенным размером пунктов меню.

    Открыть контекстное меню

                        Открыть контекстное меню
                        
                     

    Все меню поддерживают привязку горячих клавиш к элементам. Для привязки горячей клавиши добавьте атрибут data-hotkey="*" в меню элемент .

                        <ул>
                            
  • Проверить Alt+Q
  • Проверить Alt+W
  • Проверить Ctrl+F1
  • Если вам нужно меню определенного цвета, нет ничего проще, добавьте в меню классы для цвета фона и цвета текса.

    Автор записи

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *