CSS Выпадающие (раскрывающиеся) списки
Создание выпадающего (раскрывающегося) списка с помощью CSS.
Демо: Пример выпадающего списка
Наведите курсор на примеры ниже:
Основной выпадающий (раскрывающийся) список
Создайте раскрывающийся список, который появляется, когда пользователь наводит указатель мыши на элемент.
Пример
<style>
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display:
none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
padding:
12px 16px;
z-index: 1;
}
.dropdown:hover
.dropdown-content {
display: block;
}
</style>
<div class="dropdown">
<span>Mouse over me</span>
<div class="dropdown-content">
<p>Hello World!</p>
</div>
</div>
Попробуйте сами »
Объяснение примера
HTML) Используйте любой элемент, чтобы открыть выпадающий контент, например элемент <span> или <button>.
Используйте элемент контейнера (например, <div>
), чтобы создать выпадающий контент и добавить в него все, что вы хотите.
Оберните элемент <div>
вокруг элементов, чтобы правильно разместить раскрывающийся контент с помощью CSS.
CSS). Класс .dropdown
использует position: relative
, который нужен, когда мы хотим, чтобы содержимое раскрывающегося списка размещалось прямо под кнопкой раскрывающегося списка (используя position: absolute
).
Класс .dropdown-content
содержит фактический раскрывающийся контент. По умолчанию он скрыт и будет отображаться при наведении мыши (см. ниже). Обратите внимание, что для min-width
установлено значение 160px. Можете изменить его.
Совет. Если вы хотите, чтобы ширина раскрывающегося содержимого была такой же ширины, как и раскрывающаяся кнопка, установите для width
значение 100% (и overflow:auto
для включения прокрутки на маленьких экранах).
Вместо использования border мы использовали свойство CSS box-shadow
, чтобы раскрывающееся меню выглядело как "карточка".
Селектор :hover
используется для отображения раскрывающегося меню, когда пользователь наводит указатель мыши на раскрывающуюся кнопку.
Выпадающее меню
Создайте выпадающее меню, которое позволяет пользователю выбрать опцию из списка:
Этот пример похож на предыдущий, за исключением того, что мы добавляем ссылки в раскрывающемся списке и стилизуем их под стилизованную кнопку раскрывающегося списка:
Пример
<style>
/* Стилизация выпадающей кнопки */
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
}
/* Контейнер <div> - необходимо разместить выпадающий контент */
.dropdown {
position: relative;
display:
inline-block;
}
/* Выпадающий контент (скрыт по умолчанию) */
.dropdown-content {
display: none;
position:
absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow:
0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
/* Ссылки внутри выпадающего */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Изменить цвет выпадающих ссылок при наведении */
.dropdown-content a:hover {background-color: #f1f1f1}
/* Показать выпадающее меню при наведении */
.dropdown:hover .dropdown-content {
display: block;
}
/* Изменить цвет фона кнопки выпадающего списка, когда отображается содержимое выпадающего списка. */
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
</style>
<div class="dropdown">
<button class="dropbtn">Выпадающее меню</button>
<div class="dropdown-content">
<a href="#">Ссылка
1</a>
<a href="#">Ссылка 2</a>
<a href="#">Ссылка 3</a>
</div>
</div>
Попробуйте сами »
Выровненный по правому краю выпадающий контент
Если вы хотите, чтобы выпадающее меню перемещалось справа налево, а не слева направо, добавьте right: 0;
Больше примеров
Выпадающее изображение
Как добавить изображение и другой контент внутри выпадающего списка.
Наведите курсор на изображение: