Этот сниппет создает разделенную кнопку с выпадающим списком (меню) при помощи CSS.
Разделенная кнопка с выпадающим меню
Наведите курсор мышки на иконку стрелки, чтобы открыть выпадающее меню:
Попробовать самому »Как сделать разделенную кнопку с выпадающим меню
Шаг 1) Добавляем HTML:
Создаем выпадающее меню, которое будет появляться, когда пользователь наводит мышку на иконку.
Пример
<!-- Библиотека иконок Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<button class="btn">Кнопка</button>
<div class="dropdown">
<button class="btn" style="border-left:1px solid navy">
<i class="fa fa-caret-down"></i>
</button>
<div class="dropdown-content">
<a href="#">Ссылка 1</a>
<a href="#">Ссылка 2</a>
<a href="#">Ссылка 3</a>
</div>
</div>
Объяснение примера
Для вызова выпадающего меню можно использовать любой элемент, например, <button>, <a> или <p>.
Для создания выпадающего меню используем контейнер (например, <div>) и добавляем в него ссылки выпадающего меню.
Оборачиваем кнопку и меню элементом <div>, чтобы корректно задать положение выпадающего меню при помощи CSS.
Шаг 2) Добавляем CSS:
Пример
/* Вызывающая кнопка */
.btn {
background-color: #2196F3;
color: white;
padding: 16px;
font-size: 16px;
border: none;
outline: none;
}
/* Контейнер <div> - нужен для позиционирования выпадающего контента */
.dropdown {
position: absolute;
display: inline-block;
}
/* Выпадающий контент (по умолчанию скрыт) */
.dropdown-content {
display: none;
position: absolute;
background-color: #f1f1f1;
min-width: 160px;
z-index: 1;
}
/* Ссылки внутри выпадающего блока */
.dropdown-content a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
/* Изменяем цвет ссылки при наведении */
.dropdown-content a:hover {background-color: #ddd}
/* Показываем выпадающий блок при наведении */
.dropdown:hover .dropdown-content {
display: block;
}
/* Изменяем фоновый цвет вызывающей кнопки при выводе выпадающего блока */
.btn:hover, .dropdown:hover .btn {
background-color: #0b7dda;
}
Попробовать самому »