Автор

Модальное окно для сайта на jQuery

Модальное окно для сайта на jQuery


 

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

 

ДЕМО
ИСХОДНИКИ

 

Чтобы сделать модальное окно более гибким, мы добавили некоторые CSS3 Media Queries, чтобы сделать его и настроить для мобильного использования. И так, давайте приступим.

Шаг 1. HTML

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

<!DOCTYPE html>
<html>
<head>
 <!--Meta tags-->
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
 <!--Title-->
 <title>Модальное окно</title>
 <!--Stylesheets-->
 <link rel="stylesheet" href="css/styles.css">
 <!--HTML5 Shiv-->
 <!--[if lt IE 9]>
 <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
 <![endif]-->
</head>
<body>
 <!--jQuery-->
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</body>
</html>

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

<body>
 <a href="#" id="button">Жми меня!</a>

С разметкой закончили, перейдем к следующему шагу.

Шаг 2. CSS

Для начала мы рассмотрим общие стили которые используются для демонстрации, и мелкие настройки.

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
 margin: 0;
 padding: 0;
 border: 0;
 font: inherit;
 vertical-align: baseline;
}
html {
 font-size: 62.5%;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
 display: block;
}
body {
 line-height: 1;
 }
ol, ul {
 list-style: none;
}
blockquote, q {
 quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
 content: '';
 content: none;
}
table {
 border-collapse: collapse;
 border-spacing: 0;
}
a {
 text-decoration:none;
}
body {
 font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;
 font-size:100%;
 background:#fff;
}

Далее создаем базовое модальное окно, мы будем использовать visibility:hidden; для того чтобы скрыть окно до момента нажатия кнопки.

#modal {
 width:360px;
 height:189px;
 padding:8px;
 background:rgba(0,0,0,.3);
 -webkit-border-radius:8px;
 -moz-border-radius:8px;
 border-radius:8px;
 position:absolute !important;
 top:50% !important;
 left:50% !important;
 margin-top:-94px !important;
 margin-left:-180px !important;
 z-index:101;
}

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

#heading {
 width:360px;
 height:44px;
 background-image: -webkit-linear-gradient(top, rgb(249, 249, 249), rgb(233, 233, 233));
 background-image: -moz-linear-gradient(top, rgb(249, 249, 249), rgb(233, 233, 233));
 background-image: -o-linear-gradient(top, rgb(249, 249, 249), rgb(233, 233, 233));
 background-image: -ms-linear-gradient(top, rgb(249, 249, 249), rgb(233, 233, 233));
 background-image: linear-gradient(top, rgb(249, 249, 249), rgb(233, 233, 233));
 filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f9f9f9', EndColorStr='#e9e9e9');
 border-bottom:1px solid #bababa;
 -webkit-box-shadow:
 inset 0px -1px 0px #fff,
 0px 1px 3px rgba(0,0,0,.08);
 -moz-box-shadow:
 inset 0px -1px 0px #fff,
 0px 1px 3px rgba(0,0,0,.08);
 box-shadow:
 inset 0px -1px 0px #fff,
 0px 1px 3px rgba(0,0,0,.08);
 -webkit-border-radius:4px 4px 0px 0px;
 -moz-border-radius:4px 4px 0px 0px;
 border-radius:4px 4px 0px 0px;
 font-size:14px;
 font-weight:bold;
 text-align:center;
 line-height:44px;
 color:#444444;
 text-shadow:0px 1px 0px #fff;
}

Далее стилизуем текст находящийся в середине модального окна, тут достаточно все просто.

#content {
 width:360px;
 height:144px;
 background:#fcfcfc;
 -webkit-box-shadow:0px 1px 3px rgba(0,0,0,.25);
 -moz-box-shadow:0px 1px 3px rgba(0,0,0,.25);
 box-shadow:0px 1px 3px rgba(0,0,0,.25);
 -webkit-border-radius:0px 0px 4px 4px;
 -moz-border-radius:0px 0px 4px 4px;
 border-radius:0px 0px 4px 4px;
}
#content p {
 font-size:13px;
 font-weight:normal;
 text-align:center;
 line-height:22px;
 color:#555555;
 width:100%;
 float: left;
 margin:19px 0;
}

Теперь рассмотрим кнопки выбора в модальном окне, здесь немного интереснее, мы добавим тень, и простые иконки которые позволят нам добавить большего реализма и визуально оформить кнопки.

.button {
 width:138px;
 height:33px;
 font-size:13px;
 font-weight:bold;
 line-height:33px;
 color:#fff;
 text-shadow:0px 1px 0px rgba(0,0,0,.2);
 -webkit-border-radius:3px;
 -moz-border-radius:3px;
 border-radius:3px;
 -webkit-box-shadow:
 inset 0px 1px 0px rgba(255,255,255,.5),
 0px 1px 2px rgba(0,0,0,.3);
 -moz-box-shadow:
 inset 0px 1px 0px rgba(255,255,255,.5),
 0px 1px 2px rgba(0,0,0,.3);
 box-shadow:
 inset 0px 1px 0px rgba(255,255,255,.5),
 0px 1px 2px rgba(0,0,0,.3);
 float:left;
}
.button img {
 float:left;
 width:33px;
 height:33px;
}
.button.green {
 background: -webkit-linear-gradient(top, rgba(170,212,79,1) 0%,rgba(116,185,49,1) 90%,rgba(106,173,45,1) 95%,rgba(96,157,41,1) 100%);
 background: -moz-linear-gradient(top, rgba(170,212,79,1) 0%,rgba(116,185,49,1) 90%,rgba(106,173,45,1) 95%,rgba(96,157,41,1) 100%);
 background: -o-linear-gradient(top, rgba(170,212,79,1) 0%,rgba(116,185,49,1) 90%,rgba(106,173,45,1) 95%,rgba(96,157,41,1) 100%);
 background: -ms-linear-gradient(top, rgba(170,212,79,1) 0%,rgba(116,185,49,1) 90%,rgba(106,173,45,1) 95%,rgba(96,157,41,1) 100%);
 background: linear-gradient(top, rgba(170,212,79,1) 0%,rgba(116,185,49,1) 90%,rgba(106,173,45,1) 95%,rgba(96,157,41,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#aad44f', endColorstr='#609d29',GradientType=0 );
 border:1px solid #5b8821;
 margin:0 5px 0 35px;
}
.button.red {
 background: -webkit-linear-gradient(top, rgba(248,114,136,1) 0%,rgba(243,71,85,1) 90%,rgba(225,65,77,1) 95%,rgba(206,59,70,1) 100%);
 background: -moz-linear-gradient(top, rgba(248,114,136,1) 0%,rgba(243,71,85,1) 90%,rgba(225,65,77,1) 95%,rgba(206,59,70,1) 100%);
 background: -o-linear-gradient(top, rgba(248,114,136,1) 0%,rgba(243,71,85,1) 90%,rgba(225,65,77,1) 95%,rgba(206,59,70,1) 100%);
 background: -ms-linear-gradient(top, rgba(248,114,136,1) 0%,rgba(243,71,85,1) 90%,rgba(225,65,77,1) 95%,rgba(206,59,70,1) 100%);
 background: linear-gradient(top, rgba(248,114,136,1) 0%,rgba(243,71,85,1) 90%,rgba(225,65,77,1) 95%,rgba(206,59,70,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f87288', endColorstr='#ce3b46',GradientType=0 );
 border:1px solid #b0333e;
 margin:0 35px 0 5px;
}

Со стилями мы закончили, теперь рассмотрим некоторые параметры скрипта.

Шаг 3. JavaScript

Теперь мы должны вернуться к нашему HTML-документу и добавить следующие строки в нижнюю часть нашего документа, в котором мы ссылаемся Reveal-плагин. Вот некоторые параметры.

<script type="text/javascript">
 $(document).ready(function() {
 $('#button').click(function(e) { // Кнопка, которая активирует наши модальные окна
 $('#modal').reveal({ // Пункт, который будет открывать и раскрывать окно
 animation: 'fade', // Анимация появления
 animationspeed: 600, // Скорость анимации
 closeonbackgroundclick: true, // Нажатие на фон, чтобы закрыть окно
 dismissmodalclass: 'close' // Класс, который будет закрывать модальное окно
 });
 return false;
 });
 });
</script>

Вот и все. Готово!

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

Многие материалы на сайте взяты из блогов: "Все для веб-дизайнера Rudebox", "A free library of HTML, CSS, JS nuggets Codyhouse" - полностью переведен и представлен в ознакомительных целях!

vk.com/club.ssdru

Подписывайтесь на нашу группу в контакте vk.com/club.ssdru



Статьи по темеjQuery

Модальное окно для сайта на jQuery

Полностраничное меню, которое заменяет текущий контент, вытесняя его с экрана.


Модальное окно для сайта на jQuery

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


Модальное окно для сайта на jQuery

Основная идея заключается в применении искажения или фильтры blob для кнопок и изучить некоторые творческие возможности. Все больше разработчиков используют SVG, что заставляет развивать данное направление. Мы хотели бы поделиться некоторыми идеями для воздействия на кнопки.


Модальное окно для сайта на jQuery

Дорогие веб-мастера, хочу поделиться с вами очень хорошим решением создания календаря событий, так как при создании нового сайта заказчику нужен был именно ткого рода календарь мероприятий и я перелопатил весь инет в поисках чего-то приличного! И вот оно счастье!!! Я выкладываю уже перелапаченый мной вариант и в него забил даты до 28.01.2021.


Раскрутка в соцсетях

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


Перейти в Блог

Надёжный хостинг

С нами хостинг удобен и прост, как диван у вас дома. Вы с комфортом размещаетесь, а все внутренние пружины мы берем на себя.

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


Перейти на хостинг

О КОМПАНИИ

Studio Design существует с 2001 года. Основной нашей деятельностью до 2007 года было видеопроизводство ( видеореклама и документальные фильмы, о чем подробно описано в нашем блоге ). С 2007 года, вот уже как лет, наша основная специфика - это создание сайтов для бизнеса или частной деятельности, веб дизайн, а также поддержка и администрирование готовых проектов. Каждая выполненная нами работа - это уникальный, а самое главное, адаптивный под все современные мобильные устройства дизайн сайта. Мы готовы создать сайт с нуля для каждого клиента с любого уголка России! Мы поможем Вам в создании, как одностраничных сайтов – визиток, так и крупных интернет магазинов или корпоративных сайтов. А все наши работы, большинство из которых действуют и по сей день!

Close

Целовальников Сергей


Веб-дизайн, HTML5, CSS3, jQuery, JavaScript, Верстка.

Верстальщик с большим опытом работы. Занимаюсь созданием сайтов с 2005 года. Постоянно обучаюсь и совершенствую свои навыки. Веду свои проекты, в том числе и данный блог.

Close