Аккордеон меню что это такое

Содержание
  1. Многоуровневое аккордеон-меню
  2. Структура
  3. Добавляем стиль
  4. 5 последних уроков рубрики «CSS»
  5. Забавные эффекты для букв
  6. Реализация забавных подсказок
  7. Анимированные буквы
  8. Солнцезащитные очки от первого лица
  9. Раскрывающаяся навигация
  10. Меню аккордеон на JS
  11. Демонстрация меню аккордеон.
  12. HTML структура
  13. CSS код
  14. JS код
  15. Добавление иконок
  16. Комментарии ( 0 ):
  17. Аккордеон на CSS
  18. Пример аккордеона с одной открытой вкладкой
  19. Пример аккордеона с несколькими открытыми вкладками
  20. CSS такой же, как в первом варианте
  21. Смотрите также:
  22. Добавить комментарий:
  23. Комментарии:
  24. Аккордеон меню
  25. Как создать вертикальный аккордеон для сайта
  26. Процесс создания аккордеона
  27. HTML код аккордеона и его описание
  28. CSS код аккордеона
  29. JavaScript код аккордеона
  30. Аккордеон, заголовки которого отделены друг от друга
  31. Аккордеон с анимацией появления
  32. Вертикальное меню аккордеон
  33. Многоуровневое вертикальное меню аккордеон

Многоуровневое аккордеон-меню

Простое аккордеон-меню средствами CSS.

Данный пример разработан исключительно средствами CSS, а именно гвоздём программы стал псевдо-класс :checked. Так же мы добавили и версию с применением jQuery в случае если вы захотите каких-то анимационных эффектов.

Структура

HTML структура довольно-таки проста: аккордеон представляет собой ненумерованный список. Если у элемента есть вложенность, то мы добавляем input[type=checkbox] и название. Так же присваиваем этому элементу класс .has-children . Все “стандартные” элементы списка содержат якоря.

Добавляем стиль

Для отслеживания выборки элемента мы используем специальную технику: используя элемент checkbox, мы сможем воспользоваться псевдо-классом :checked и сменить отображение потомков с “none” на “block”.

Шаг за шагом: прежде всего мы должны убедиться, что checkbox покрывает все элементы меню. Другими словами, нам нужно настроить checkbox под себя. Во-первых, при клике по label , checkbox должен заполняться/очищаться. Для этого мы используем атрибут “for” элемента label (атрибут label “for” = атрибуты input “name” и “id”. См. html код выше). Таким образом мы можем спрятать элемент input и работать с label .

Читайте также:  Все становится лучше с пианино

Теперь обратите внимание на HTML: input , label и ненумерованный список — соседи. При клике по checkbox (по факту клик по label ), извлекается

    элемент и меняется режим отображения с “none” на “block”:

Если вы хотите добавить анимацию, то подключите .js файл. После этого добавьте класс .animate элементу .cd-accordion-menu (смена направления стрелок).

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: https://codyhouse.co/gem/css-multi-level-accordion-menu/
Перевел: Станислав Протасевич
Урок создан: 28 Октября 2015
Просмотров: 34112
Правила перепечатки

5 последних уроков рубрики «CSS»

Забавные эффекты для букв

Небольшой эффект с интерактивной анимацией букв.

Реализация забавных подсказок

Небольшой концепт забавных подсказок, которые реализованы на SVG и anime.js. Помимо особого стиля в примере реализована анимация и трансформация графических объектов.

Анимированные буквы

Эксперимент: анимированные SVG буквы на базе библиотеки anime.js.

Солнцезащитные очки от первого лица

Прикольный эксперимент веб страницы отображение которой осуществляется “от первого лица” через солнцезащитные очки.

Раскрывающаяся навигация

Экспериментальный скрипт раскрывающейся навигации.

Источник

Меню аккордеон на JS

Сегодня мы создадим на чистом JS коде – меню аккордеон с тремя секциями, при клике на которые, будет открываться панель с текстом, а при втором клике обратно закрываться.

Меню аккордеон обычно используют для блока часто задаваемых вопросов.

Демонстрация меню аккордеон.

HTML структура

Создадим 3 кнопки с классом accordion, ниже которых поместим дивы с классом panel. Внутри блоков, будут параграфы с текстом.

Ответ на Вопрос 1.

Ответ на Вопрос 2.

Ответ на Вопрос 3 .

Картинка пока невзрачная, добавим стилей и спрячем секции с текстом.

CSS код

Стилизация кнопок, которые используются для открытия и закрытия панели аккордеона.

.accordion <
background-color: #cfd8dc;
color: #fff;
… >

При наведении курсора на кнопку и при клике по ней, будет меняться цвет фона. Для смены цвета при клике, мы повесим на функцию в JS класс active.

.active, .accordion:hover <
background-color: #607d8b;
>

Стилизация блоков с текстом (ответы на вопросы). По умолчанию эти блоки спрятаны за счет нулевого свойства максимальной высоты.

JS код

Объявим две переменные, первая переменная будет получать элемент по названию класса accordion. Вторая переменная с названием i.

var acc = document.getElementsByClassName(«accordion»);
var i;

В цикле for, мы перебираем весь массив элементов с классом accordion, то есть будут выводиться все заголовки.

На каждый из элементов мы добавляем действие по клику, будет выполняться функция, когда ко всем элементам в массиве применяется метод toggle.

Метод toggle добавляет и удаляет класс active для замены цвета кнопки, управляющей панелью.

Назначаем переменной с названием panel – свойство nextElementSibling, это переключатель между скрытием и показом активной панели.

var panel = this.nextElementSibling;

Для раскрытия, спрятанных блоков с текстом (эффект аккордеона), надо менять максимальную высоту, в зависимости от высоты панели на разных размерах экрана. Сначала делаем проверку, если значение максимальной высоты в стилях для блока с классом panel, равно нулю, то новая максимальная высота станет больше на энное количество пикселей, в зависимости от размера экрана у пользователя.

if (panel.style.maxHeight) <
panel.style.maxHeight = null;
> else <
panel.style.maxHeight = panel.scrollHeight + «px»;
>
>);
>

Добавление иконок

Для наглядности все кнопки следует снабдить символами, где символ плюс указывает на сложенный аккордеон, а минус – на раскрытый. При клике на кнопку, знак плюс меняется на знак минус.

Это подходящий случай для применения псевдокласса after. Код для content, можно найти в таблице символов Юникода.

.accordion:after <
content: ‘\002B’; /* Код Юникода для символа «плюс» (+) */
color: #fff;
font-size: 18px;
float: right;
margin-left: 4px;
>

.active:after <
content: «\2212»; /* Код Юникода для символа «минус» (-) */
>

Меню аккордеон надо использовать на сайтах, в целях экономии места и удобства получения информации.

На CodePen вы можете увидеть весь код меню аккордеон на чистом JS, который можно скачать и использовать в своих проектах.

Хотите научиться создавать на чистом JS больше интерактивных компонентов? Вам поможет замечательный видеокурс «JavaScript, jQuery и Ajax с Нуля до Гуру».

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 0 ):

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2021 Русаков Михаил Юрьевич. Все права защищены.

    Источник

    Аккордеон на CSS

    Вариант создания аккордеона на чистом CSS

    2 примера создания аккордеона без использования скриптов.

    Один работает с использованием радиокнопок , а другой с флажками

    Пример аккордеона с одной открытой вкладкой

    Т.к. из одноименных радиокнопок может быть выбрана только одна, соответственно и вкладка аккордеона тоже

    Еще описание вкладки

    И еще описание вкладки

    Обратите внимание, что ID для каждой вкладки должны быть уникальные:

    Пример аккордеона с несколькими открытыми вкладками

    Если нужно иметь открытыми несколько вкладок, то просто заменяем кнопки на флажки

    Еще описание вкладки

    И еще описание вкладки

    CSS такой же, как в первом варианте

    • Опубликовано: 20.10.2020 / Обновлено: 04.02.2021
    • Рубрики: Меню и аккордеоны
    • Метки: CSS
    • 6080 просмотров

    Смотрите также:

    Выдвижная боковая панель на CSS

    Пример создания выдвижной боковой панели средствами CSS

    Фиксированное гамбургер-меню

    Фиксированное гамбургер-меню на jQuery с анимированным появлением его элементов

    Адаптивное мега-меню на jQuery

    Очень простое, удобное и функциональное меню на jQuery

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

    Комментарии:

    Здравствуйте. Спасибо за знания. У меня вопрос, не совсем к вашему коду, но .. близко. У меня используется что-то типа аккордеона, где при открытии каждой вкладке происходит подгрузка содержимого именно этой вкладки. Тип содержимого вкладок одинаково, отличия лишь в конкретных данных числах, названиях и т.д. Проблема собственно в следующем — при открытии страницы с аккордеоном-вкладками открывается первая вкладка со своими данными, тут всё ок, но если открыть следующую вкладку то первые секунд 5-ть. (иногда дольше) то в новой вкладке отображается содержимое первой кладке. Потом происходит обновление содержимого кладки до актуального содержимого. Как бороться? Может как-то скрывать содержимое вкладки(ок) до окончательной загрузки содержимого или svg-шку загрузки показывать? Буду весьма признателен за ссылку на пример.

    Без примера сложно что то сказать.
    Видеть надо как это работает.

    Вот кусок из функции loadedCatasi (в неё вытаскивается массив данных (по вкладкам) из бд)

    Мне эта информация вообще ни о чем не говорит…
    Напишите мне в ВК или телеграм, нужно на сайте видеть что и как работает.

    ЗЫ: эту тему удалю завтра, т.к. она не имеет вообще ничего общего с темой заметки

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

    Дополнение: если текста больше чем на страницу.

    bbobik………………, нормальный БАЯН — зря грешишь, всё работает в нормуль — ручки только нужны с головой, что бы для себя сие подделать!

    Источник

    Аккордеон меню

    Аккордеон представляет собой список с раскрывающимся содержимым (рис. 1). Удобен для создания больших меню из-за компактности, а также для блоков вопросов и ответов. Название произошло от музыкального инструмента, который напоминает своим видом.

    Рис. 1. Вид аккордеона

    Есть два типа аккордеон-меню.

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

    Поскольку аккордеон своей работой напоминает вкладки, то мы можем использовать тот же самый код HTML, что и при создании вкладок (пример 1). Для первого типа аккордеона вставляем , который позволяет выбрать лишь один пункт, а для второго типа — с его помощью можно раскрывать и закрывать произвольное число пунктов.

    Пример 1. Код отдельного пункта аккордеона

    Не забудьте, что для каждого надо добавить своей уникальный id , а его значение затем вставить в атрибут for у расположенного ниже элемента .

    Алгоритм создания аккордеона повторяет шаги при создании вкладок. Сперва мы прячем и содержимое через свойство display со значением none .

    Затем с помощью псевдокласса :checked показываем содержимое, задавая свойству display значение block .

    Для разнообразия справа от заголовка добавим символ плюса, он будет показывать пользователю что пункт раскрывается; при открытии пункта символ плюса меняем на минус. Оба действия делаются через псевдоэлемент ::after и свойство content, в значении которого пишем текст. При желании плюс и минус можно поменять на что-то другое, к примеру, на стрелки.

    Чтобы пользователь понимал, что на пункты списка можно щёлкать, изменим вид курсора на «руку» при наведении на заголовок.

    В примере 2 показан набор вопросов и ответов в виде аккордеона. В свёрнутом состоянии всё это выглядит компактно, каждый вопрос можно разворачивать и сворачивать.

    Пример 2. Создание аккордеона

    Под HTML5 обычно подразумевают два разных понятия:

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

    Источник

    Как создать вертикальный аккордеон для сайта

    Статья, в которой рассмотрим процесс создания вертикального аккордеона для сайта с использованием CSS и JavaScript (без jQuery).

    Процесс создания аккордеона

    Процесс разработки вертикального аккордеона будет состоять из:

    • создания HTML разметки;
    • описания его внешнего вида с помощью CSS;
    • написания логики на JavaScript.

    Дизайн аккордеона (скриншот):

    HTML код аккордеона и его описание

    Аккордеон (accordion) состоит из элементов (accordion-item). Каждый элемент в свою очередь включает в себя заголовок (accordion-item-header) и содержимое (accordion-item-content).

    Состояние элемента (accordion-item) в аккордеоне определяется с помощью класса show . Если данный класс присутствует, то содержимое элемента (accordion-item-content) показывается. В противном случае оно скрыто.

    Переключение состояния элемента (accordion-item) осуществляется посредством нажатия на заголовок (accordion-item-header).

    CSS код аккордеона

    Данный код выполняет стилизацию элементов аккордеона, добавляет к ним необходимые внутренние отступы, цвет текста, цвет фона и др. Но, кроме этого, он ещё определяет видимость элементов аккордеона с классом accordion-item-content , т.е. содержимого .

    По умолчанию элементы, имеющие класс accordion-item-content не отображаются (CSS свойство display равно значению none ). Включение отображения определённого элемента (accordion-item-content) осуществляется посредством класса show , который необходимо добавить к его родительскому элементу (accordion-item).

    JavaScript код аккордеона

    Сценарий (логика) аккордеона:

    Сценарий JavaScript выполняет очень простые действия. Он добавляет обработчик события click для аккордеона. Далее в зависимости от того по какому заголовку кликнули, он добавляет и (или) удаляет класс show у необходимых(ого) элементов(а).

    Инициализация элемента как аккордеон выполняется следующим образом:

    Аккордеон, заголовки которого отделены друг от друга

    Скриншот аккордеона, элементы которого отделены друг от друга с помощью отступа:

    CSS, добавляющий к элементам аккордеона отступы снизу ( margin-bottom ):

    Аккордеон с анимацией появления

    Скриншот аккордеона, появление содержимого которого сопровождается CSS анимацией:

    Стили аккордеона, включающие в себя анимацию (для отображения содержимого):

    Вертикальное меню аккордеон

    Пример настройки аккордеона в качестве вертикального меню.

    Дополнительно в JavaScript сценарий добавим небольшой фрагмент кода, который будет показывать сколько подпунктов имеет каждый пункт в этом меню.

    CSS и JavaScript:

    Многоуровневое вертикальное меню аккордеон

    Пример в котором рассмотрим как создать многоуровневое вертикальное меню аккордеон.

    HTML, CSS и JavaScript код многоуровневого меню:

    Источник

    Оцените статью