4 способа создать удивительные аккордеоны только для CSS
Контентные аккордеоны создают полезный шаблон дизайна. Вы можете использовать их для разных целей: для меню, списков, изображений, выдержек из статей, фрагментов текста и даже видео.
Большинство аккордеонов полагаются на JavaScript, в основном на jQuery, но, поскольку использование передовых методов CSS3 стало широко распространенным, мы также можем найти хорошие примеры, которые используют только HTML и CSS, которые делают их доступными в средах с отключенным JavaScript.
Создание аккордеонов только для CSS может быть сложной задачей, поэтому в этом посте мы попытаемся понять основные концепции, которые используют разработчики, когда им нужно их создать.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
При создании вкладок только для CSS обычно есть два основных подхода, каждый из которых имеет два варианта использования. Первый подход использует скрытые элементы формы, а второй использует псевдоселекторы CSS.
1. Метод радио-кнопки
Метод Radio Button добавляет скрытый радиовход и соответствующий ярлык для каждой вкладки аккордеона. Логика проста: когда пользователь выбирает вкладку, он в основном проверяет переключатель, который принадлежит этой вкладке, точно так же, как при заполнении формы. Когда они нажимают на следующую вкладку в аккордеоне, они выбирают следующий переключатель и т. Д.
В этом методе одновременно может быть открыта только одна вкладка. Логика HTML выглядит чем-то
нравится:
Заголовок содержимого (здесь не используйте тег h1)
Некоторый контент ….
р>
Вам нужно добавить отдельную пару радио-меток для каждой вкладки в аккордеоне. Один только HTML не даст желаемого поведения, вам также нужно добавить соответствующие CSS-правила, давайте посмотрим, как этого добиться.
Вертикальные вкладки с фиксированной высотой
В этом решении (см. Скриншот ниже) разработчик скрыл переключатель с помощью дисплея: нет; Правило, затем он дал относительную позицию для метки метки, которая содержит заголовок каждой вкладки, и абсолютную позицию для соответствующей метки: после псевдоэлемента.
Последний содержит маркер, помеченный зеленым знаком +, который открывает вкладки. Закрытые вкладки также используют ручку, отмеченную зелеными знаками «-». В CSS закрытые вкладки выбираются с помощью элемент + элемент селектор.
Вам также нужно придать содержимому открытой вкладки фиксированную высоту. Для этого выберите тело открытой вкладки (помеченное классом tab-content в HTML выше) с помощью element1 ~ element2 CSS селектор.
Основная логика CSS здесь заключается в следующем:
вход[type=radio] {
дисплей: нет;
}
метка {
положение: относительное;
дисплей: блок;
}
ярлык: после {
содержание: “+”;
положение: абсолютное;
справа: 1em;
}
вход: проверено + метка: после {
содержание: “-“;
}
вход: проверено ~ .tab-content {
высота: 150 пикселей;
}
Вы можете взглянуть на полный CSS здесь на Codepen, CSS изначально написан на Sass, но если вы нажмете кнопку «Просмотр скомпилированного», вы увидите скомпилированный файл CSS.
ИЗОБРАЖЕНИЕ: Codepen от Jon YablonskiИзображение Аккордеон с Радио Кнопками
Этот красивый аккордеон изображения использует тот же метод переключателя, но вместо меток разработчик использовал HTML-тег figcaption, чтобы реализовать поведение аккордеона.
CSS несколько отличается, в основном потому, что в этом случае вкладки располагаются не вертикально, а горизонтально. Разработчик использовал CSS + селектор element + element (который использовался в предыдущем случае для выбора переключателей), чтобы гарантировать, что края покрытых изображений все еще остаются
видимый.
ИЗОБРАЖЕНИЕ: Tympanus.netПрочитайте подробное руководство о том, как создать этот элегантный аккордеон только для CSS.
2. Метод флажка
Метод флажка использует переключатель типа флажка вместо переключателя. Когда пользователь выбирает вкладку, он в основном устанавливает соответствующий флажок.
Разница по сравнению с методом переключателей заключается в том, что можно открывать более одной вкладки одновременно, точно так же, как можно установить несколько флажков внутри формы.
С другой стороны, вкладки не закрываются сами по себе, когда пользователь нажимает на другую. Логика HTML та же, что и раньше, просто в этом случае вам нужно использовать флажок для типа ввода.
Заголовок содержимого (здесь не используйте тег h1)
Некоторый контент ….
р>
</div>
<!-- Other Tabs with The Same Structure -->
Флажок фиксированной высоты Аккордеон
Если вам нужны вкладки с фиксированной высотой, логика CSS почти такая же, как и в случае с переключателями, просто тип ввода изменился с переключателя на переключатель. В этом Кодовая ручка Вы можете взглянуть на код.
ИЗОБРАЖЕНИЕ: Codepen от Jon YablonskiФлажок Высота Флажок Аккордеон
Когда одновременно открыто несколько вкладок, отображение вкладок с фиксированной высотой может негативно повлиять на пользовательский опыт, поскольку высота гармошки может значительно возрасти. Это можно улучшить, если вы измените фиксированную высоту на высоту жидкости; это означает, что высота открытых вкладок увеличивается или уменьшается в соответствии с размером содержимого, которое они содержат.
Для этого вам необходимо изменить фиксированную высоту содержимого вкладки до максимальной высоты и использовать относительные единицы:
вход: проверено ~ .tab-content {
максимальная высота 50em;
}
Если вы хотите лучше понять, как работает этот метод, вы можете взглянуть на это Codepen,
ИЗОБРАЖЕНИЕ: Codepen от Jon Yablonski
3. Целевой метод
: цель является одним из псевдо-селекторов CSS3. С его помощью вы можете связать элемент HTML с тегом привязки следующим образом:
Название вкладки
Содержание вкладки
Когда пользователь нажимает на заголовок вкладки, весь раздел открывается благодаря псевдо-селектору: target, и URL-адрес также будет изменен на следующий формат: www.some-url.com/#tab-1,
Открытая вкладка может быть стилизована в CSS с помощью правила section: target {…}. Здесь, на hongkiat, есть отличное руководство о том, как создавать красивые аккордеоны только для CSS с помощью метода: target как в вертикальной, так и в горизонтальной компоновке.
Основным недостатком метода: target является то, что он меняет URL, когда пользователь нажимает на вкладки. Это влияет на историю браузера, и кнопка назад браузера не приведет пользователя к предыдущей странице, но к предыдущему состоянию аккордеона.
4. Метод парения
Этот последний недостаток можно преодолеть, если использовать псевдоселектор: hover CSS вместо: target, но в этом случае вкладки будут реагировать не на щелчок, а на событие наведения мыши. Хитрость заключается в том, что вам нужно либо скрыть невыделенные элементы, либо уменьшить их ширину или высоту – в зависимости от расположения вкладок
Элемент наведения должен быть видимым или установлен на полную ширину / высоту, чтобы заставить аккордеон работать.
Следующие 3 аккордеона только для CSS были созданы методом: hover, нажмите на ссылки под скриншотами, чтобы взглянуть на код.
Горизонтальное изображение аккордеона
ИЗОБРАЖЕНИЕ: CodePen от vavikПерекошенный Аккордеон
ИЗОБРАЖЕНИЕ: Codepen от Gerald De LeonАктивированный при наведении аккордеон с состоянием по умолчанию
ИЗОБРАЖЕНИЕ: Codepen by Cory
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)