Home News

Всплывающее модальное окно для сайта

05.09.2018

Всем привет!

Ох, и не на шутку я разошелся по теме всплывающих модальных окон.

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

И я с большим удовольствием делюсь с вами, читатели блога BlogGood.ru , готовым решением, как сделать красивое, всплывающие модальное окно .

Кстати, в коде не используется JavaScript, jQuery, а только чистый HTML и CSS .

Итак, вставьте вот этот HTML-код перед </body> :

<!-- кнопка вызова popup --> <a href="#login_form" id="login_pop">Открыть окно</a> <!-- popup форма --> <a href="#x" class="overlay" id="login_form"></a> <div class="popup"> Здесь текст, форма и т.д. <a class="close" href="#close"></a> </div>

Теперь CSS:

.overlay { background-color: rgba(0, 0, 0, 0.6); bottom: 0; cursor: default; left: 0; opacity: 0; position: fixed; right: 0; top: 0; visibility: hidden; z-index: 1; -webkit-transition: opacity .5s; -moz-transition: opacity .5s; -ms-transition: opacity .5s; -o-transition: opacity .5s; transition: opacity .5s; } .overlay:target { visibility: visible; opacity: 1; } .popup { background-color: #fff; border: 3px solid #fff; display: inline-block; left: 50%; opacity: 0; padding: 15px; position: fixed; text-align: justify; top: 40%; visibility: hidden; z-index: 10; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; -webkit-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -moz-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -ms-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -o-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -webkit-transition: opacity .5s, top .5s; -moz-transition: opacity .5s, top .5s; -ms-transition: opacity .5s, top .5s; -o-transition: opacity .5s, top .5s; transition: opacity .5s, top .5s; } .overlay:target+.popup { top: 50%; opacity: 1; visibility: visible; } .close { background-color: rgba(0, 0, 0, 0.8); height: 30px; line-height: 30px; position: absolute; right: 0; text-align: center; text-decoration: none; top: -15px; width: 30px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -ms-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; } .close:before { color: rgba(255, 255, 255, 0.9); content: "X"; font-size: 24px; text-shadow: 0 -1px rgba(0, 0, 0, 0.9); } .close:hover { background-color: rgba(64, 128, 128, 0.8); }

Посмотрите демонстрацию. Я применил всплывающее модальное окно для входа в админку сайта.

[ смотреть демонстрацию ]

Готовый код:

<html> <head> <title>модальное окно</title> <meta charset="utf-8"> <style> .overlay { background-color: rgba(0, 0, 0, 0.6); bottom: 0; cursor: default; left: 0; opacity: 0; position: fixed; right: 0; top: 0; visibility: hidden; z-index: 1; -webkit-transition: opacity .5s; -moz-transition: opacity .5s; -ms-transition: opacity .5s; -o-transition: opacity .5s; transition: opacity .5s; } .overlay:target { visibility: visible; opacity: 1; } .popup { background-color: #fff; border: 3px solid #fff; display: inline-block; left: 50%; opacity: 0; padding: 15px; position: fixed; text-align: justify; top: 40%; visibility: hidden; z-index: 10; -webkit-transform: translate(-50%, -50%); -moz-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); -webkit-border-radius: 10px; -moz-border-radius: 10px; -ms-border-radius: 10px; -o-border-radius: 10px; border-radius: 10px; -webkit-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -moz-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -ms-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -o-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; -webkit-transition: opacity .5s, top .5s; -moz-transition: opacity .5s, top .5s; -ms-transition: opacity .5s, top .5s; -o-transition: opacity .5s, top .5s; transition: opacity .5s, top .5s; } .overlay:target+.popup { top: 50%; opacity: 1; visibility: visible; } .close { background-color: rgba(0, 0, 0, 0.8); height: 30px; line-height: 30px; position: absolute; right: 0; text-align: center; text-decoration: none; top: -15px; width: 30px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -ms-border-radius: 15px; -o-border-radius: 15px; border-radius: 15px; } .close:before { color: rgba(255, 255, 255, 0.9); content: "X"; font-size: 24px; text-shadow: 0 -1px rgba(0, 0, 0, 0.9); } .close:hover { background-color: rgba(64, 128, 128, 0.8); } .popup p, .popup div { margin-bottom: 10px; } .popup label { display: inline-block; text-align: left; width: 120px; } .popup input[type="text"], .popup input[type="password"] { border: 1px solid; border-color: #999 #ccc #ccc; margin: 0; padding: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; -ms-border-radius: 2px; -o-border-radius: 2px; border-radius: 2px; } </style> </head> <body> <!-- кнопка вызова popup --> <a href="#login_form" id="login_pop">Войти</a> <!-- popup форма --> <a href="#x" class="overlay" id="login_form"></a> <div class="popup"> <h2>Вход в АДМИН</h2> Введите ваш логин и пароль <div> <label for="login">Логин</label> <input type="text" id="login" value="" /> </div> <div> <label for="password">Пароль</label> <input type="password" id="password" value="" /> </div> <input type="button" value="Войти" /> <a class="close" href="#close"></a> </div> </body> </html>

Вот и все! Пользуйтесь на здоровье  ! Мне не жалко!

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Последние новости категории:

Похожие статьи

Популярные статьи:

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

Метки: css , Вебмастеру , для сайта , эффекты для сайта

rss