Затемнение всплывающих окон html

Как сделать всплывающее окно с затемнением и размытием с помощью css?

Есть кнопка по которой всплывает модальное окно. Как сделать так, чтобы на задний план за окном затемнялся и размыливался с помощью стилей?

.application < box-shadow: 0 0 10px #777; position: fixed; top: 50%; width: 100%; >.application .close
  

Перезвоним вам через 5 минут!

X

Заявка на выезд специалиста

;

2 ответа 2

Использовать подложку и filter: blur(2px); :

.application < box-shadow: 0 0 10px #777; position: fixed; top: 50%; width: 100%; >.application .close < cursor: pointer; position: absolute; top: 5px; right: 15px; >.container < position: relative; z-index: 10; background: #fff; padding: 1rem; >.application:before < content: ''; position: fixed; z-index: 2; top: 0; left: 0; right: 0; bottom: 0; background: url(http://ultraimg.com/images/Ho6hQWs.jpg) center no-repeat; background-size: cover; filter: blur(2px); >.application:after
  

Перезвоним вам через 5 минут!

X

Заявка на выезд специалиста

;

да, спасибо, с затемнением хорошо, а вот с размытием есть нюанс: если нужно размытие заднего плана контента при прокрутке страницы, то вариант с уже background не подойдет..

спасибо, подходит последний вариант и как я понимаю — без скриптов не обойтись. пробую делать по образцу, но у меня почему-то фон с дорогой не затемняется.. codepen.io/anon/pen/qqNKEg

Вам нужен еще один блок overlay , который будет всплывать под окном, и вот с ним уже работать.

var overlay = document.getElementById('overlay'); function toggle(el)
.application < background: #fff; box-shadow: 0 0 10px #777; position: fixed; top: 50%; width: 100%; z-index: 11; >.application .close < cursor: pointer; position: absolute; top: 5px; right: 5px; >.overlay
  

Перезвоним вам через 5 минут!

X

Заявка на выезд специалиста

;

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.7.27.43548

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Всплывающее окно с затемнением фона CSS

Всплывающее окно с затемнением фона CSS

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

Читайте также:  Язык html основы html структура страницы

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

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

Модальное окно на разные тематические сайты

Устанавливаем первое окно:

×

Название

Заголовок

Здесь идет краткое описание.

Ниже можно написать

.button <
background: #428bca;
padding: 1em 2em;
color: #fff;
border: 0;
border-radius: 5px;
cursor: pointer;
>

.button:hover <
background: #3876ac;
>

.modal <
display: none;
position: fixed;
z-index: 1;
left: 0;
top: 0;
height: 100%;
width: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
>

.modal-content <
margin: 10% auto;
width: 60%;
box-shadow: 0 5px 8px 0 rgba(0, 0, 0, 0.2), 0 7px 20px 0 rgba(0, 0, 0, 0.17);
animation-name: modalopen;
animation-duration: var(—modal-duration);
>

.modal-header h2,
.modal-footer h3 <
margin: 0;
>

.modal-header <
background: var(—modal-color);
padding: 15px;
color: #fff;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
>

.modal-body <
padding: 10px 20px;
background: #fff;
>

.modal-footer <
background: var(—modal-color);
padding: 10px;
color: #fff;
text-align: center;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
>

.close <
color: #ccc;
float: right;
font-size: 30px;
color: #fff;
>

.close:hover,
.close:focus <
color: #000;
text-decoration: none;
cursor: pointer;
>

@keyframes modalopen <
from <
opacity: 0;
>
to <
opacity: 1;
>
>

// Get DOM Elements
const modal = document.querySelector(‘#my-modal’);
const modalBtn = document.querySelector(‘#modal-btn’);
const closeBtn = document.querySelector(‘.close’);

// Events
modalBtn.addEventListener(‘click’, openModal);
closeBtn.addEventListener(‘click’, closeModal);
window.addEventListener(‘click’, outsideClick);

// Open
function openModal() <
modal.style.display = ‘block’;
>

// Close
function closeModal() <
modal.style.display = ‘none’;
>

// Close If Outside Click
function outsideClick(e) <
if (e.target == modal) <
modal.style.display = ‘none’;
>
>

На этом весь установочный процесс:

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

2. Установка на второе окно:

Модал для сайта в адаптивном стиле

Открыть

Simple modal box

Первое описание

Второе описание

.modal-sandbox <
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: transparent;
>

.modal <
display: none;
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: rgb(0,0,0);
background: rgba(0,0,0,.8);
overflow: auto;
>

.modal-box <
position: relative;
width: 80%;
max-width: 920px;
margin: 100px auto;
animation-name: modalbox;
animation-duration: .4s;
animation-timing-function: cubic-bezier(0,0,.3,1.6);
>

.modal-header <
padding: 20px 40px;
background: #546E7A;
color: #ffffff;
>

.modal-body <
background: #ECEFF1;
padding: 60px 40px;
>

/* Close Button */
.close-modal <
text-align: right;
cursor: pointer;
>

/* Animation */
@-webkit-keyframes modalbox <
0% <
top: -250px;
opacity: 0;
>
100% <
top: 0;
opacity: 1;
>
>

Читайте также:  What is naming service in java

@keyframes modalbox <
0% <
top: -250px;
opacity: 0;
>
100% <
top: 0;
opacity: 1;
>
>

/* Aditional Styles */
* <
font-family: «Roboto», sans-serif;
font-weight: normal;
>

.modal-trigger, button <
top: 50%;
left: 50%;
padding: 20px 40px;
background: transparent;
color: #ffffff;
border: 1px solid #ffffff;
text-decoration: none;
>

.modal-trigger <
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
transition: ease .2s;
>

button <
border: 1px solid #333333;
outline: none;
color: #333333;
>

.modal-trigger:hover <
padding: 20px 60px;
>

$(«.modal-trigger»).click(function(e) <
e.preventDefault();
dataModal = $(this).attr(«data-modal»);
$(«#» + dataModal).css();
>);

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

Источник

Модальное окно на затемненном фоне

Для модальных окон есть множество плагинов такие, как fancybox, Twitter Bootstrap и т.д. Но бывают случаи когда нет возможности их использовать, рассмотрим примеры статического окна и всплывающего по клику.

Затемнение фона

Для затемнения сайта достаточно добавить в верстку и CSS стили к нему:

Стили задаются псевдоклассом :before для того чтобы opacity не влиял на контент, который будет в этом блоке. Полупрозрачный фон будет растянут на все окно браузера.

Верстка модального окна

Добавим в div.popup-fade блок с контентом, ссылку «закрыть» и стили для них.

Закрыть

Всплывающие окна имеют широкий диапазон применений.

События jQuery

$(document).ready(function($) < // Клик по ссылке "Закрыть". $('.popup-close').click(function() < $(this).parents('.popup-fade').fadeOut(); return false; >); // Закрытие по клавише Esc. $(document).keydown(function(e) < if (e.keyCode === 27) < e.stopPropagation(); $('.popup-fade').fadeOut(); >>); // Клик по фону, но не по окну. $('.popup-fade').click(function(e) < if ($(e.target).closest('.popup').length == 0) < $(this).fadeOut(); >>); >);

Результат

Всплывающее окно по клику

Для реализации popup-а достаточно скрыть блок .popup-fade и добавить событие для открытия окна.

Открыть popup 
Закрыть

Всплывающие окна имеют широкий диапазон применений.

.popup-fade < display: none; >.popup-fade:before < content: ''; background: #000; position: fixed; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.7; z-index: 9999; >.popup < position: fixed; top: 20%; left: 50%; padding: 20px; width: 360px; margin-left: -200px; background: #fff; border: 1px solid orange; border-radius: 4px; z-index: 99999; opacity: 1; >.popup-close

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

Просто и со вкусом! Спасибо!
Подскажите, а как реализовать это решение для следующей задачи:
На странице расположены несколько превьюшек изображений по ходу статьи.
Нужно чтобы по клику на превьюхе, в модальном окне, открывался соотвтествующий ей хайрез.
Пробовал разные стили назначать, но открываются всё равно сразу все, просто в одну колонку ((

Здравствуйте. Взял ваш скрипт и внедрил в свою верстку. Работает. Но есть одно Но. Как сделать так, чтобы можно было прочитать содержимое попапа, если там много текста? Скрол крутит только задний фон. А как прочитать попап не понятно. Вот например

Читайте также:  Php цикл if условие and

Авторизуйтесь, чтобы добавить комментарий.

Другие публикации

Отслеживание окончания доменов и SSL-сертификатов

При работе с множеством сайтов возникает необходимость в постоянном контроле срока окончания доменов и особенно.

Источник

Как сделать всплывающее окно с затемнением

Как сделать всплывающее окно с затемнением

Очень часто бывает нужно вывести пользователю какую-нибудь информацию или предложение в отдельном окне. Поскольку такая информация будет максимально легко доходить до посетителей. Однако, если использовать JavaScript для вывода обычных окон, то их будет блокировать браузер. Я решил рассказать о том, как сделать всплывающее окно с затемнением с использованием только HTML и CSS.

Я сразу приведу код, а потом немного его прокомментирую:



Сайт

Сайт

Сайт

Сайт

Сайт

Сайт

Сайт

Сайт

Сайт

Закрыть

Текст в окне


Во-первых, я вывел много h1 для того, чтобы показать, что когда контента много и пользователь будет проматывать вниз, окно будет идти вместе с прокруткой. В реальности, вместо h1 будет обычный контент на Вашем сайте.

Блок parent_popup занимается затемнением (background-color и opacity), а также выводится поверх всего остального контента (z-index: 100;).

А блок popup — это непосредственно само окно. Мы задаём его положение (top и left), а также делаем его fixed для того, чтобы он перемещался вместе с прокруткой страницы.

И, наконец, в коде есть текст «закрыть«, кликнув по которому, окно будет закрыто. Это единственное место, где используется JavaScript.

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

Создано 13.04.2012 13:37:53

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

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

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

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

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

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

    1. Кнопка:
      Она выглядит вот так:
    2. Текстовая ссылка:
      Она выглядит вот так: Как создать свой сайт
    3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    Комментарии ( 53 ):

    Спасибо за урок, пригодится.

    Источник

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