Просте popup вікно css. Як зробити модальне вікно на CSS. jQuery плагін «ToastMessage»

💖 Подобається?Поділися з друзями посиланням

У статті про створення модального вікна на css ми розібрали що таке модальне вікно і навіщо воно потрібне. А так само створили вікно, використовуючи тільки css. У цій статті я опишу, як створити модальне вікно javascript. А конкретніше ми будемо використовувати для створення бібліотеку jquery.

І так почнемо створювати модальне вікно на jquery. Для ускладнення завдання поставимо таку умову. Нам потрібно створити адаптивне модальне вікно. А адаптивність полягатиме в тому, що вікно при зменшенні розміру екрана те саме буде зменшуватися. Адаптивне модальне вікно jquery почнемо створювати з HTML розмітки.

Тисніть тут! X Замовити дзвінок

З кодом я думаю все зрозуміло. Маємо оболонку.wraper, де знаходиться контент нашого сайту. Існує кнопка виклику модального вікна з ідентифікатором gowindow, саме вікно з ід modal_window і перекриваючий шар myoverlay. Напишемо тепер css стилі.

Wraper ( width: 100%; margin: auto; width: auto;/*те саме і 100%*/ max-width: 960px;/*максимальна ширина обгортки*/ border: 1px solid #000; background-color: # F5F9FB; ) .button( /*-------*/ ) #modal_window ( width: 34%;/*для адаптивності*/ height: 300px; border-radius: 10px; border: 3px #fff solid; background : #e0e0e0; margin-top: -30%; margin-left: 33%; display: none; opacity: 0; /*повна прозорість для анімації */ z-index: 5000; /*вікно має бути верхнім шаром*/ padding-top: 20px;text-align:centr;position:relative;) #modal_window #window_close (width: 21px; height: 21px; position: absolute; top: 10px; ) #myoverlay ( z-index: 3000; /*вище за всіх шарів але нижче вікна */ position: fixed; /*для перекриття сайту*/ background-color: #000; opacity: 0.5; width: 100%; height: 100 %;/*повністю на екран */ top: 0; left: 0; cursor: pointer; display: none;

Опишемо css код. Блок.wraper задаємо адаптивним, він змінюється від розміру екрана, але не більше 960px. Код кнопки показувати не буду. Ширину вікна #modal_window задаємо у відсотках, ширина залежатиме від ширини. wraper. Для центрування вікна задаємо марджин 33%. Він розраховується так 50% -17%, де 17% - половина ширини вікна. Приховуємо вікно властивостями display: none та opacity: 0. З кодом #window_close та #myoverlay я думаю все ясно. Давайте тепер напишемо код для jquery. Вважатимемо що jqery вже підключена.

$(document).ready(function() ( $("#gowindow").click(function()(//клік по кнопці $("#myoverlay").fadeIn(400, //показуємо перекриваючий шар function() ( $("#modal_window") .css("display", "block") //робимо вікно видимим.animate((opacity: 1, top: "50%"), 200); //збільшуємо прозорість, вікно плавно з'їжджає )); ));/* прибираємо вікно */ $("#window_close, #myoverlay"). : 0, top: "45%"), 200, //вкл прозорість, вікно йде вгору function()( $(this).css("display", "none"); //робимо вікно невидимим $("# myoverlay").fadeOut(400); //забираємо шар перекриття )); )); ));

Js код я думаю пояснення не потребує, так як я його досить добре прокоментував. На цьому я думаю все, так що підіб'ємо підсумки. Ми зробили просте адаптивне модальне вікно jquery

Вітання всім. Подивився тут днями уважно статистику блогу та виявив, що більший інтерес у наших інтернет-трудящих викликають і приклади створення модальних вікон. Найпопулярнішими виявилися рішення реалізації спливаючих вікон без використання JavaScript, виключно на чистому.
За час роботи у мене накопичилося чимало цікавих рішень, які в різні часи я детально розписав у розгорнутих статтях на сторінках свого блогу, але багато з цих уроків з часом пішли на задній план. Читачам блогу іноді складно зорієнтуватися і більшість працездатних способів створення ефектних модальних вікон і форм, що спливають, просто залишаються непоміченими.
Тому, враховуючи інтерес користувачів до цього питання, вирішив об'єднати всі уроки та приклади з цієї теми та вивести в окремій статті колекцію модальних вікон та форм. Вийшов невеликий огляд із коротким описом, посиланнями на приклади та статті. Так що дивіться, вивчайте і якщо комусь, якесь із рішень припаде до душі, сміливо забирайте вихідники, і творіть, творіть, творіть...

1. Модальні вікна за допомогою CSS3 без Javascript

Найпопулярніший серед читачів мого блогу метод створення модальних вікон. Дуже простий у реалізації. Формування зовнішнього вигляду спливаючих блоків та весь функціонал засновані виключно на CSS3, без підключення Javascript та додаткових графічних елементів.
Можливість підключення та виведення модальних вікон практично на будь-якому сайті. Достатньо правильно розмістити html-каркас у потрібному місці, додати потрібний вам контент, підключити стилі, прив'язати всю цю справу до кнопки, що активує, або будь-якого іншого елементу сайту (картинки, пункти меню, посилання, окреме слово в тексті і т.д.) і все готовий до роботи.

2. Модальне вікно за допомогою CSS та

Дуже простий, легкий плагін jQuery, за допомогою якого ви зможете швидко і без проблем реалізувати у себе на сайті виведення модальних вікон з будь-якою інформацією, будь то простий текст, картинки, різної форми або вбудоване відео.
Зовнішній вигляд формується за допомогою CSS, розмір вікна визначається безпосередньо в засланні, в атрибуті href="#?w=500" , де #?w=500 вказує необхідну ширину вікна. Втім, вивчивши деталі уроку, все стане зрозуміло. Для цього рішення необхідна підключена до сайту бібліотека jQuery.

3. Адаптивне модальне вікно по центру

Спочатку урок замислювався саме про абсолютну центрацію блокових елементів зі змістом, але про це стільки написано, що вирішив розбавити тему адаптивністю і накласти все це на модальне вікно, користуючись при цьому виключно засобами CSS. Що з цього вийшло, можете дізнатися, вивчивши урок.

4. Модальне вікно на HTML5, CSS3 та прихованих чекбоксах

Досить нова методу для реалізації спливаючих (модальних) вікон. Приховані чекбокси я частіше використовував для створення інформаційних блоків, що розкриваються, або « ». В результаті виявилося все дуже просто, за допомогою CSS3 і синтаксичних особливостей HTML5 можна легко організувати роботу модальних вікон. На оформленні особливо не зациклювався(вся суть не в цьому), за вихідну взяв приклад інфо-блоків Bootstrap. Спосіб відмінно спрацьовує у всіх сучасних браузерах, користувачі застрягли на замшелих версіях IE-шки, на жаль, пролітають повз.

5. Модальний блок відео на CSS3

Не дає мені спокою тема організації перегляду відео в модальному блоці, тільки засобами CSS3, без javascrip. Ні з виведенням відео в модальному вікні все гаразд, не можу знайти адекватного і влаштовує рішення зупинки відео при закритті вікна. Тупо використовував посилання з порожнім атрибутом href="", багатьох розпалюваних майстрових від цього не зовсім кошерного способу перевертає уві сні, але іншого більш дієвого та валідного рішення, на даний момент поки що не знайшов.

Мене часто питали, чи можна вбудувати всередину модального вікна, якийсь слайдер, не тільки для картинок, а й для тексту. Чому б і ні. У буржуїнів знайшовся простенький ротатор контенту, що підходить за всіма параметрами, залишалося об'єднати його з вже готовим модальним вікном. І в результаті вийшло те, що вийшло :)). Подивіться все досить просто у виконанні.

7. Інтеграція контактної форми в модальне вікно

На багатьох сайтах використовуються спливаючі форми зворотного зв'язку, форми реєстрації та входу. Найпростіше вбудувати робочу форму у готове модальне вікно. Береться цілком пристойна форма, зверстана на CSS3, будь-який варіант модального вікна представлений вище, залишається лише обидва ці елементи об'єднати в єдиний механізм. Як це зробити? Саме про це детально розписано у представленому уроці.

Відмінна можливість для ваших користувачів надсилати повідомлення з будь-якої сторінки або окремого запису сайту (блогу) - це окрема, модальна форма контактів. Правильно прикручуєте до форми php-обробник, розміщуєте в тіло потрібної вам сторінки і все залишається тільки періодично перевіряти свою поштову скриньку. Даний метод коректно працює у всіх сучасних браузерах: Chrome, Firefox, Opera, Safari, так само в Internet Explorer, починаючи з 9 версії. Сама форма наділена функціями модального вікна за допомогою магії CSS3.

Лайтбокс свого роду те ж модальне вікно, вірніше принцип роботи практично той же, щоправда використовується здебільшого для перегляду збільшених або повнорозмірних зображень. Свого часу вирішив зробити більш-менш адаптивну версію Lightbox, виключно засобами CSS3. Що з цього вдалося дізнатися подивившись приклад і якщо тема вставить, вивчіть і урок. Користувачі, що щільно підсіли на IE 8 і нижче, на жаль нічого не побачать, метод заснований на використанні псевдокласу: target.

10. Спливаюча контактна форма для сайту

Цікаве (на мій погляд) рішення створення окремої, оригінально оформленої спливаючої форми контактів для сайту. Робота форми заснована на обробці події onclick. Оформлення за допомогою оригінального зображення як поштового конверта. Працює форма швидко і коректно у всіх браузерах, тому цілком гідний зразок засобів взаємодії з користувачами.

11. Випливаюче вікно при завантаженні сайту за допомогою CSS3 і трохи javascript

Мене, як і багатьох інших, виморожують різні спливаючі вікна при початковому завантаженні сайту. Вважаю такий метод занадто нав'язливим. Але фішка затребувана і широко використана, а значить подивитися як вся ця справа працює, напевно все ж таки варто. Всі сучасні браузери з підозрою ставляться до різного роду спливаючих вікон на початковому етапі завантаження сайту, вони їх просто блокують. У представленому уроці, детально розписую, як це блокування можна обійти, так само дізнаєтеся, як правильно використовувати cookie, щоб вікно було погляду користувача один раз при першому заході на сайт, або з певним інтервалом.

На цьому, мабуть, і все. Звичайно в загашнику знайдеться ще пара-трійка робочих варіантів створення модальних вікон, а в інтернетах їх скільки, головне знайти те що потрібно. Сподіваюся ця добірка допоможе зорієнтуватися на тему у купі статей мого блогу. У міру вдалих розкопок і знаходження матеріалу, що загубився, огляд буде оновлюватися.

З повагою Андрій

Модальне вікно – це контейнер, який при натисканні посилання спливає та надає будь-яку інформацію. Думаю багато хто вже знайомий з ним, ну якщо ж ні подивіться демо версію, щоб зрозуміти що це таке. Зараз їх налічується безліч і кожен працює за своїм. Наприклад, є абсолютно стандартні , які вимагають виконати якусь дію, в даному прикладі підтвердження. Або, наприклад, інший варіант, при першому заході на сайт, який актуально підходитиме під різні підписки на групи в соціальних мережах. Є модальні вікна на чистому CSSну мені хотілося б відвести цю частку JavaScript, так як на ньому це цікавіше виходить і не погано працює у всіх браузерах.

КРОК ПЕРШИЙ. Код JavaScript

Щоб запустити модальне вікно, потрібно передати функції значення window.onload. В якому ми передаватимемо два елементи ідентифікатора " a"і" b".

//передача елементів id "a" і "b" window.onload = function() ( a = document.getElementById("a"); b = document.getElementById("b"); )

Потім ми прописуємо функцію " showA", яка показуватиме модальне вікно і передаватиме елементам" a"і" b"Стилі, а саме ми задали прозорість, ширину і блокування вікна, якщо не було натиснуто посилання" відкрити".

//показуємо вікно функції "showA" function showA() ( //Задаємо прозорість і блокуємо дисплей //елемента "b" b.style.filter = "alpha(opacity=80)"; b.style.opacity = 0.8; b .style.display = "block"; // Задаємо блокування і відступ зверху в 200px //елемента "a" a.style.display = "block"; a.style.top = "200px";

Після відкриття модального вікна, нам потрібно якось його потім закрити або приховати, для цього прописуємо функцію " hideA", яка приховуватиме модальне вікно і прописуємо їй стилі для елементів" a"і" b".

//Викликаємо функцію "hideA", яка буде приховувати //вікно для елементів "a" і "b" function hideA() ( b.style.display = "none"; a.style.display = "none"; )

Повний код.

//передача елементів за id "a" і "b" window.onload = function() ( a = document.getElementById("a"); b = document.getElementById("b"); ) //показуємо вікно функції " showA" function showA() ( //Задаємо прозорість і блокуємо дисплей //елемента "b" b.style.filter = "alpha(opacity=80)"; b.style.opacity = 0.8; b.style.display = " block"; // Задаємо блокування і відступ зверху в 200px //елемента "a" a.style.display = "block"; a.style.top = "200px"; ) //Викликаємо функцію "hideA", яка буде приховувати //вікно для елементів "a" і "b" function hideA() ( b.style.display = "none"; a.style.display = "none"; )

КРОК ДРУГИЙ. Код HTML.

Відкрити

У тезі "div"вказуємо ідентифікатор " a", який буде взаємодіяти зі стилями CSSта з кодом JavaScript. Далі прописуємо ще один тег div" і надаємо йому ідентифікатор " windows", який буде виконувати роль розмітки усередині контейнера модального вікна".

Усередині вказуємо посилання, яке буде " закривати"Модальне вікно, також надаємо їй стиль" pages" і за умовчанням задаємо їй стиль " float: right", тобто відображатимемо посилання закриття модального вікна у верхньому правому кутку.

Закрити

Прописуємо ідентифікатор b", який буде приховувати вікно".

Повний код.

Відкрити Закрити

КРОК ТРЕТІЙ. Код CSS.

Обов'язкові стилі CSS, без яких модальне вікно буде не правильно працювати, а точніше взагалі некоректно працювати та відображати інформацію.

І так перший обов'язковий стиль щодо позиції, в даному прикладі це fixed. Він дозволяє відображати модальне вікно, обмежуючи його з межею заливки. За допомогою z-indexми вказуємо наскільки модальне вікно ідентифікується після натискання посилання " відкрити", а також " закрити". Також display: none, що дозволяє приховувати модальне вікно до натискання посилання.

#b ( position:fixed; top:0; left:0; right:0; bottom:0; display:none; background: grey; z-index:1; ) #a ( border:1px solid black; position:fixed background: #eff7ff; z-index:3; display:none; ) #windows ( padding:5px; width: 500px; white; padding: 4px; text-decoration: none;) a:hover.pages ( background: red; color: white; padding: 4px; text-decoration: none; )

Всім дякую за Вашу увагу!

Модальні вікна, оверлеї, діалогові вікна, як би ви їх не називали, настав час переглянути цей шаблон інтерфейсу користувача. Коли вони вперше з'явилися на сцені, модальні вікна були елегантним вирішенням проблеми інтерфейсу користувача. По-перше, вони спрощують інтерфейс користувача. По-друге, економія простору екрану. З того часу дизайнери охоче прийняли модальні вікна, а деякі довели їх до крайності. Модальні вікна стали сучасною версією страшного спливаючого вікна. Користувачі знаходять модальні вікна дратівливими та навчилися інстинктивно та автоматично закривати їх.

Визначення:

Модальне вікно - це елемент, що розташовується поверх головного вікна програми. Воно блокує головне вікно, але залишає його видимим за дочірнім модальним вікном. Користувачі повинні взаємодіяти з модальним вікном, перш ніж зможуть повернутися до батьківського додатка. - Вікіпедія

Використання

Ви можете використовувати модальне вікно, коли вам потрібно:

Привернути увагу користувача

Використовуйте, якщо хочете перервати поточне завдання користувача, щоб привернути його увагу до чогось важливішого.

Потрібне введення інформації від користувача

Використовуйте, коли хочете отримати інформацію від користувача. Наприклад, форма реєстрація та авторизації.

Показати додаткову інформацію у контексті

Використовуйте, якщо потрібно показати додаткову інформацію, не втрачаючи контекст батьківської сторінки. Наприклад, показ більших зображень або відео.

Показати додаткову інформацію (поза контекстом)

Використовуйте, коли хочете показати інформацію, не пов'язану безпосередньо з батьківською сторінкою або іншими параметрами "незалежними" від інших сторінок. Наприклад, повідомлення.

Примітка: Не використовуйте модальні вікна для відображення повідомлень про помилки, успішне виконання завдання або попередження. Залишіть їх на сторінці.

Анатомія модального вікна

Погано реалізовані оверлеї можуть перешкодити виконанню завдання. Щоб ваше модальне вікно не заважало користувачам, врахуйте наступне:

1.Аварійний люк

Дайте користувачам спосіб втекти, надавши їм спосіб закрити модальне вікно. Це може бути досягнуто такими способами:

  • Кнопка Відміни
  • Кнопка закриття
  • Клавіша Escape
  • Клік за межами вікна

Порада щодо доступності: кожне модальне вікно повинно мати доступне керування з клавіатури, щоб закрити це вікно. Наприклад, клавіша escape має закривати вікно.

2. Назва

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


Після натискання кнопки Tweet  — Модальний заголовок: Створення нового твіту. Дає контекст.

Порада: ярлик кнопки (яка запускає модальне вікно) та модальний заголовок повинні збігатися

3. Кнопка

Ярлики кнопок повинні мати зрозумілі імена. Це стосується будь-якої кнопки. Для модальних вікон кнопка закрити повинна бути представлена ​​у вигляді значка кнопки закрити або x.


У Invision зрозумілі значки кнопок

Примітка: Не робіть значок кнопки, що збиває з пантелику. Якщо користувач намагається скасувати дію, а модальне вікно вискакує з ЩЕ ОДНІЙ кнопкою скасування, виникає плутанина. “Я скасовую скасування? Чи продовжую її?”

4. Визначення розміру та розташування

Модальне вікно не повинно бути надто великим або надто маленьким, ви хочете, щоб воно було просто відповідного розміру. Ціль полягає в тому, щоб зберегти контекст, тому модальне вікно не повинно займати весь екран. Контент повинен відповідати модельному вікну. Якщо потрібно смуга прокручування, ви можете створити нову сторінку.

  • Розташування  —  у верхній частині екрану, тому що в мобільному вигляді модальне вікно може загубитися, якщо помістити його нижче.
  • Розмір  — Не використовуйте більше 50% екрана модельного вікна.
5. Фокус

Коли ви відкриваєте модальне вікно, використовуйте ефект lightbox (затемнення фону). Це привертає увагу до модального вікна і вказує на те, що користувач не може взаємодіяти з батьківською сторінкою.

Порада щодо доступності: встановіть фокус клавіатури на модальне вікно.

6. Користувач запускає модальне вікно

Не дивуйте користувачів модним вікном, що вискакує. Нехай дія користувача, такі як натискання кнопки, перехід за посиланням або вибір параметра, викликають модальне вікно. Модальні вікна, що самостійно відкриваються, можуть здивувати користувача і привести до швидкого їх закриття.


Модальне вікно, викликане натисканням кнопки Log In Модальні вікна в мобільних пристроях

Модальні вікна та мобільні пристрої, як правило, погано працюють разом. Перегляд контенту утруднений, тому що модальні вікна занадто великі, займають занадто багато екранного місця або занадто малі. Додайте елементи, такі як клавіатура пристрою та вкладені смуги прокручування. Користувачам залишається лише рухати пальцями та масштабувати, намагаючись зловити поле модального вікна. Існують найкращі альтернативи для модальних вікон, тому їх не слід використовувати на мобільних пристроях.

Добре зроблене модальне вікно —  Facebook Доступність

Клавіатура

Коли створюєте модальні вікна, не забудьте додати доступне керування з клавіатури. Розглянемо таке:

Відкриття модального вікна  — елемент, що викликає діалогове вікно, має бути доступним з клавіатури.

Переміщення фокуса в діалогове вікно —   Коли модальне вікно відкрито, фокус клавіатури повинен бути переміщений на початок.

Керування фокусом клавіатури   —   Коли фокус переміщений у діалогове вікно, він повинен бути замкнений усередині нього, поки діалогове вікно не буде закрито.

Закриття діалогу   -   кожне модальне вікно повинно мати доступне керування з клавіатури для закриття цього вікна.

ARIA

Стандарт доступності активних Інтернет-додатків (ARIA Accessible Rich Internet Applications) визначає способи підвищення доступності веб-контенту та веб-додатків.

Наступні теги ARIA можуть бути корисні при створенні доступного вікна: Role = “ dialog ” , aria - hidden , aria - label

Крім того, пам'ятайте про користувачів з поганим зором. Вони можуть використовувати екранні лупи на моніторах для збільшення вмісту екрана. Після збільшення користувач може бачити лише частину екрана. У цьому випадку модальні вікна відображатимуться так само, як і в мобільних пристроях.

Висновок

Якщо люди навчилися автоматично намагатися закрити модальні вікна, то чому ви хочете їх використовувати?

Привернення уваги користувача, підтримка контексту та спрощення інтерфейсу користувача є великими перевагами модальних вікон. Однак, у них є й недоліки, оскільки вони переривають роботу користувачів і унеможливлюють взаємодію з батьківською сторінкою, приховуючи вміст за модальним вікном. Модальне вікно не завжди може бути відповідною відповіддю. При виборі слід враховувати таке:

Контрольний список

  • Коли ми показуємо модальні вікна?
  • Як ми показуємо модальні вікна?
  • Як виглядають модальні вікна?
  • Яку інформацію ми надаємо та збираємо?

Існує альтернативний компонент інтерфейсу для модальних вікон: не модальні або відомі як спливаючі повідомлення toast (термін, що використовується Microsoft і Google в Матеріальному дизайні). Читайте мою наступну публікацію, щоб дізнатися більше.

1. Модальне вікно на jQuery "Simple Modal Box" 2. jQuery плагін "LeanModal"

Відображення контенту у модальних вікнах. Щоб переглянути плагін у дії на демонстраційній сторінці, натисніть на посилання: Sign Up Form або Basic Content.

3. jQuery плагін «ToastMessage»

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

4. Вміст, що випливає в модальному вікні

Плагін "Reveal". Щоб переглянути плагін у дії, натисніть кнопку «Fire A Reveal Modal» на демонстраційній сторінці.

5. Симпатичні діалогові вікна

Натисніть на хрестик на демонстраційній сторінці, щоб переглянути плагін у дії.

6. Mootools модальне вікно, плагін «MooDialog» 7. jQuery спливаюча панель зверху екрана 8. jQuery спливаюче вікно

jQuery плагін для відображення форми зворотного зв'язку у спливаючому вікні.

10. MooTools плагін «LightFace» для реалізації діалогових вікон Facebook

Діалогові вікна у стилі Facebook. Крім статичної інформації у вікна можна помістити зображення, кадри, Ajax запити. Багато налаштувань роботи плагіна, дуже потужний інструмент. Виглядає дуже стильно та функціонально. Пройдіть посилання на демонстраційній сторінці, щоб переглянути приклади з різним вмістом.

11. jQuery модальне вікно

Акуратне спливаюче діалогове вікно на jQuery.

12. Модальні вікна jQuery

Симпатичні модні вікна, що спливають. Три стильові оформлення. На демонстраційній сторінці представлено 3 посилання для виклику вікон.

13. Модальні вікна jQuery

Спливаючі модальні вікна декількох видів. Щоб переглянути плагін у дії, натисніть посилання на демонстраційній сторінці.

15. Спливає поверх сторінки повідомлення

Повідомлення відображається поверх сторінки, яка у свою чергу затемняється. Натисніть на напис «Click me» на демонстраційній сторінці, щоб побачити спливаюче повідомлення. Натискання на хрестик його закриє. Реалізовано за допомогою jQuery.

16. Модальне вікно "ModalBox" на javascript

Реалізація сучасних модальних діалогових вікон без використання вікон і перезавантажень сторінки. На демонстраційній сторінці натисніть кнопку «Start Demo» щоб подивитися на роботу скрипта.

17. "Leightbox" плагін з використанням бібліотеки Prototype

Плагін для відображення контенту у модальних вікнах.



Розповісти друзям