Css кнопка открывается при

Как сделать — Кликабельный выпадающий список

Узнать, как создать интерактивное выпадающее меню с помощью CSS и JavaScript.

Выпадающий

Выпадающее меню — это переключаемое меню, которое позволяет пользователю выбрать одно значение из предопределенного списка:

Создание кликабельного выпадающего списка

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

Шаг 1) Добавить HTML:

Пример

Объяснение примера

Используйте любой элемент, чтобы открыть выпадающее меню, например элемент , или

.

Используйте элемент контейнера (например, ), чтобы создать раскрывающееся меню и добавить в него раскрывающиеся ссылки.

Оберните элемент вокруг кнопки и , чтобы правильно расположить выпадающее меню с помощью CSS.

Шаг 2) Добавить CSS:

Пример

/* Кнопка выпадающего списка */
.dropbtn background-color: #3498DB;
color: white;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer;
>

/* Кнопка выпадающего меню при наведении и фокусировке */
.dropbtn:hover, .dropbtn:focus background-color: #2980B9;
>

/* Контейнер — необходим для размещения выпадающего содержимого */
.dropdown position: relative;
display: inline-block;
>

/* Выпадающее содержимое (скрыто по умолчанию) */
.dropdown-content display: none;
position: absolute;
background-color: #f1f1f1;
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

/* Показать выпадающее меню (используйте JS, чтобы добавить этот класс .dropdown-content содержимого, когда пользователь нажимает на кнопку выпадающего списка) */
.show

Объяснение примера

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

Класс .dropdown использует position:relative , что необходимо, когда мы хотим, чтобы выпадающий контент был размещен прямо под кнопкой выпадающего списка (с помощью position:absolute ).

Класс .dropdown-content класс содержит фактическое выпадающее меню. Он скрыт по умолчанию и будет отображаться при наведении курсора (см. ниже). Примечание в min-width установлено значение 160px. Не стесняйтесь изменить это. Совет: Если вы хотите, чтобы ширина выпадающего контента, чтобы быть так велик, как в раскрывающееся меню, установить width на 100% (и overflow:auto , чтобы включить прокрутку на маленьких экранах).

Вместо использования границы мы использовали свойство box-shadow , чтобы сделать выпадающее меню похожим на»карточку». Мы также используем z-индекс для размещения выпадающего списка перед другими элементами.

Шаг 3) Добавить JavaScript:

Пример

/* Когда пользователь нажимает на кнопку,
переключение между скрытием и отображением раскрывающегося содержимого */
function myFunction() document.getElementById(«myDropdown»).classList.toggle(«show»);
>

// Закройте выпадающее меню, если пользователь щелкает за его пределами
window.onclick = function(event) if (!event.target.matches(‘.dropbtn’)) var dropdowns = document.getElementsByClassName(«dropdown-content»);
var i;
for (i = 0; i < dropdowns.length; i++) var openDropdown = dropdowns[i];
if (openDropdown.classList.contains(‘show’)) openDropdown.classList.remove(‘show’);
>
>
>
>

Источник

Модальные окна на CSS

Модальные окна на CSS

Три разных примера создания модальных окон на чистом CSS.

Первый с использованием HTML-элемента , второй с флажком , а третий с псевдоклассом :target

Вариант с использованием HTML-элемента

В этом примере каждая кнопка открывает одно конкретное всплывающее окно, расположенное под ней.

Закрытие окна происходит по клику вне его области, а крестик показывается как декорация.

Пример:

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

HTML:

CSS:

background-image : url ( «data:image/svg+xml;charset=UTF-8,%3csvg xmlns=’http://www.w3.org/2000/svg’ viewBox=’0 0 24 24′ fill=’none’ stroke=’%23337AB7′ stroke-width=’3′ stroke-linecap=’round’ stroke-linejoin=’round’%3e%3cline x1=’18’ y1=’6′ x2=’6′ y2=’18’%3e%3c/line%3e%3cline x1=’6′ y1=’6′ x2=’18’ y2=’18’%3e%3c/line%3e%3c/svg%3e» ) ;

Вариант с использованием флажка

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

Закрытие окна происходит по клику на крестик.

Пример:

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

HTML:

CSS:

background-image : url ( «data:image/svg+xml;charset=UTF-8,%3csvg xmlns=’http://www.w3.org/2000/svg’ viewBox=’0 0 24 24′ fill=’none’ stroke=’%23337AB7′ stroke-width=’3′ stroke-linecap=’round’ stroke-linejoin=’round’%3e%3cline x1=’18’ y1=’6′ x2=’6′ y2=’18’%3e%3c/line%3e%3cline x1=’6′ y1=’6′ x2=’18’ y2=’18’%3e%3c/line%3e%3c/svg%3e» ) ;

Вариант с использованием псевдокласса :target

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

Закрытие окна происходит кликом на ссылку с другим якорем.

Пример:

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Praesentium quis repellat nesciunt, ex temporibus perspiciatis esse perferendis. Dicta tempore dolore laborum iste rerum quis temporibus voluptate itaque maxime commodi! Maiores.

HTML:

CSS:

background-image : url ( «data:image/svg+xml;charset=UTF-8,%3csvg xmlns=’http://www.w3.org/2000/svg’ viewBox=’0 0 24 24′ fill=’none’ stroke=’%23337AB7′ stroke-width=’3′ stroke-linecap=’round’ stroke-linejoin=’round’%3e%3cline x1=’18’ y1=’6′ x2=’6′ y2=’18’%3e%3c/line%3e%3cline x1=’6′ y1=’6′ x2=’18’ y2=’18’%3e%3c/line%3e%3c/svg%3e» ) ;

  • Опубликовано: 01.08.2021 / Обновлено: 01.09.2022
  • Рубрики: Модальные окна
  • Метки: CSS, Авторское
  • 17512 просмотров

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

Простое модальное окно на JS

Простое модальное окно на JS

Создание простого анимированного модального окна на JS без использования плагинов

Модальное окно по таймеру

Модальное окно по таймеру

Вывод на экран модального окна через заданный промежуток времени

Анимированные полноэкранные модальные окна

Анимированные полноэкранные модальные окна

Плагин jQuery animatedModal.js для создания анимированных полноэкранных модальных окон

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

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

Здравствуйте! А можно ли сделать так, чтобы окно открывалось при клике на текст с ссылкой? И на каждую ссылку отдельное окно?

Добрый день, а почему весь контент страницы пролетает сверху модального окна? Как можно сделать чтобы форма оставалась на верху всего контента?

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

Здравствуйте Уважаемые!
Скажите пожалуйста, как позиционировать крестик в окне из примера N#1?
/* Декоративная кнопка с крестиком */

 
Название кнопки
Текст в модальном окне

/* Контейнер для кнопки, чтобы не прыгал контент, когда она сменит позиционирование */ .css-modal-details < height: 60px; display:flex; align-items:center; justify-content:center; >/* Кнопка для открытия */ .css-modal-details summary < display: inline-flex; margin: 10px; text-decoration: none; position: relative; font-size: 20px; line-height: 20px; padding: 12px 30px; color: #FFF; font-weight: bold; text-transform: uppercase; font-family: 'Roboto', Тahoma, sans-serif; background: #337AB7; cursor: pointer; border: 2px solid #BFE2FF; overflow: hidden; z-index: 1; >.css-modal-details summary:hover, .css-modal-details summary:active, .css-modal-details summary:focus < color: #FFF; >.css-modal-details summary:before < content: ''; position: absolute; top: 0; right: -50px; bottom: 0; left: 0; border-right: 50px solid transparent; border-top: 50px solid #2D6B9F; transition: transform 0.5s; transform: translateX(-100%); z-index: -1; >.css-modal-details summary:hover:before, .css-modal-details summary:active:before, .css-modal-details summary:focus:before < transform: translateX(0); >/* Кнопка при открытом окне переходит на весь экран */ .css-modal-details details[open] summary < cursor: default; opacity: 0; position: fixed; left: 0; top: 0; z-index: 3; width: 100%; height: 100%; >/* Контейнер, который затемняет страницу */ .css-modal-details details .cmc < display:flex; align-items:center; justify-content:center; >.css-modal-details details[open] .cmc < pointer-events: none; z-index: 4; position: fixed; left: 0; top: 0; width: 100%; height: 100%; animation: bg 0.5s ease; background: rgba(51, 122, 183, 0.7); display: flex; >/* Модальное окно */ .css-modal-details details[open] .cmt-wr < display: flex; width: 100%; max-width: 600px; max-height: 70%; margin: 0 10px; >.css-modal-details details .cmt < font-family: Verdana, sans-serif; font-size: 16px; padding: 20px; transition: 0.5s; border: 6px solid #BFE2FF; border-radius: 12px; background: #FFF; box-shadow: 0 4px 12px rgba(0,0,0,0.2), 0 16px 20px rgba(0,0,0,0.2); text-align: center; overflow: auto; >.css-modal-details details[open] .cmt < animation: scale 0.5s ease; z-index: 4; pointer-events: auto; width: 100%; >/* Декоративная кнопка с крестиком */ .css-modal-details details[open] .cmt-btn < content: ""; width: 50px; height: 50px; border: 6px solid #BFE2FF; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.2), 0 16px 20px rgba(0,0,0,0.2); background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23337AB7' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e"); background-color: #FFF; background-size: cover; animation: scale 0.5s ease; margin-left: 10px; flex: 0 0 50px; >/* Анимации */ @keyframes scale < 0% < transform: scale(0); >100% < transform: scale(1); >> @keyframes bg < 0% < background: rgba(51, 122, 183, 0); >100% < background: rgba(51, 122, 183, 0.7); >>

Хорошего дня! А кнопку закрытия эту, цвет поменять ей и т.д. можно? Вроде не глупый запихал форму туда неплохую оптимизировал, не могу понять че с ним делать и все тут. Хочется поменьше его сделать и цвет поменять.

Источник

Читайте также:  Python print dict formatted
Оцените статью