Название документа

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

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

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

Посмотреть пример модального окна можно с помощью JavaScript, воспользовавшись методом alert().

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

Первым шагом создания всплывающего окна является создание элемента (или любого другого элемента) и его оформление:

     .okno  
Всплывающее окошко!

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

     #okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; display: none; >#okno:target  
Всплывающее окошко!
Вызвать всплывающее окно

Используя псевдо-класс :target мы выбираем и применяем стили к элементу, к которому был осуществлён переход. Таким образом после перехода по ссылки значение свойства display элемента сменится с none на block .

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

Читайте также:  Заполнение массива символами java

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

     #main < display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; >#okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; >#main:target   
Всплывающее окошко!
Вызвать всплывающее окно

На этом создание простого всплывающего окна закончено.

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

Для создания всплывающего модального окна, берём элемент , оформляем его и добавляем ссылку, при нажатии на которую он будет появляться:

     #okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; display: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; >#okno:target  
Всплывающее окошко!
Вызвать всплывающее окно

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

     #okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; display: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; >#okno:target .close < display: inline-block; border: 1px solid #0000cc; color: #0000cc; padding: 0 12px; margin: 10px; text-decoration: none; background: #f2f2f2; font-size: 14pt; cursor:pointer; >.close:hover  
Всплывающее окошко!
Закрыть окно
Вызвать всплывающее окно

Для эффекта затемнения страницы при выводе модального окна, надо поместить весь имеющийся код окна в дополнительный :

Позиционируем родительский и растягиваем его на всю ширину и высоту окна. Задаём ему display: none; и перенаправляем ссылку вызова окна на него.

У дочернего убираем display: none; (он больше не нужен, так как родительский будет скрывать всё, что находится внутри него). В итоге родительский теперь отвечает за отображение модального окна и за затемнение фона страницы, а дочерний только за оформление самого окна:

     #zatemnenie < background: rgba(102, 102, 102, 0.5); width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: none; >#okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; background: #fff; >#zatemnenie:target .close < display: inline-block; border: 1px solid #0000cc; color: #0000cc; padding: 0 12px; margin: 10px; text-decoration: none; background: #f2f2f2; font-size: 14pt; cursor:pointer; >.close:hover  
Всплывающее окошко!
Закрыть окно
Вызвать всплывающее окно

Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru

Источник

How to Make Button onclick in HTML

The onclick attribute is an event attribute that is supported by all browsers. It appears when the user clicks on a button element. If you want to make a button onclick, you need to add the onclick event attribute to the element.

How to add URL to the window object

The button onclick runs a script when the user clicks a button. Let’s see an example where we have a button, clicking on which you’ll go to our website. To achieve this, we’ll just add the URL of the website to the window object.

Example of adding URL to the window object:

html> html> head> title>Title of the document title> head> body> button onclick="window.location.href='https://w3docs.com';">Click Here button> body> html>

You can also use a button onclick in order to know the current date just by adding «getElementById(‘demo’).innerHTML=Date()» to the onclick event.

Example of using a button onclick to know the current date:

html> html> head> title>Title of the document title> head> body> p>Click the button to see the current date. p> button onclick="getElementById('demo').innerHTML=Date()">What day is today? button> p id="demo"> p> body> html>

The onclick event is used to call a function when an element is clicked. That is why it is mostly used with the JavaScript function. Let’s consider an example where you need to click the button to set a function that will output a message in a element with id=»demo».

Example of adding an onclick event:

html> html> head> title>Title of the document title> head> body> p>There is a hidden message for you. Click to see it. p> button onclick="myFunction()">Click me! button> p id="demo"> p> script> function myFunction( ) < document.getElementById("demo").innerHTML = "Hello Dear Visitor!
We are happy that you've chosen our website to learn programming languages. We're sure you'll become one of the best programmers in your country. Good luck to you!"
; >
script> body> html>

Источник

Всплывающее Popup окно после нажатия на кнопку

Всплывающее Popup окно после нажатия на кнопку

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

Создание кнопки

Создадим кнопку, при клике на которую появится Popup окно с формой подписки на новости.

@import url(‘https://fonts.googleapis.com/css?family=Poppins:100,200,300,400,500,600,700,800,900’);
* margin: 0;
padding: 0;
box-sizing: border-box;
font-family: ‘Poppins’, sans-serif;
>
body display: flex;
justify-content: center;
align-items: center;
min-height: 100vh
; background: #E57373;
>
.btn position: relative;/*относительное позиционирование*/
padding: 15px 20px;
background: #fff;
font-size: 18px;
display: inline-block;/*отображать как строчно-блочный элемент*/
text-decoration: none;
color: #E57373;
cursor: pointer;
font-weight: 500;
letter-spacing: 2px;/*расстояние между буквами*/
text-transform: uppercase;
transition: 0.5s;
>

Всплывающее Popup окно после нажатия на кнопку.

Создание Popup окна

Внутри Popup окна находятся следующие элементы:

  • иконка с закрывающим крестиком
  • иконка с конвертом
  • заголовок h2
  • параграф с текстом
  • поле для ввода email
  • кнопка подписки

Join Our Newsletter

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse itaque blanditiis dolore vel placeat libero.

Пропишем стили для самого popup окна и его элементов. Затем спрячем окно, задав для селектора popup# свойство visibility: hidden.

#popup position: fixed;/*фиксированное позиционирование*/
top: -100%;/*прячем окно за пределы видимости*/
left: 50%;/*позиция окна слева*/
transform: translate(-50%,-50%);
z-index: 1000;/*на верхний слой*/
background: #fff;
width: 450px;
padding: 80px 50px 50px;
box-shadow: 0 15px 30px rgba(0,0,0,0.08);
transition: 0.5s;
visibility: hidden;/*скрываем окно*/
>
#popup.active visibility: visible;/*показываем окно*/
top: 50%;/*окно выдвигается сверху*/
>
#popup .content position: relative;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;/*направление главной оси*/
>
#popup .content img max-width: 80px;
>
#popup .content h2 font-size: 24px;
font-weight: 500;
color: #333;
margin: 20px 0 10px;
>
#popup .content p text-align: center;
font-size: 16px;
color: #333;
>
#popup .content .inputBox position: relative;
width: 100%;
margin-top: 20px;
display: flex;
justify-content: center;
align-items: center;
>
#popup .content .inputBox input width: 100%;
border: 1px solid rgba(0,0,0,0.2);
padding: 15px;
outline: none;
font-size: 18px;
>
#popup .content .inputBox input[type=»submit»] max-width: 150px;
background: #E57373;
color: #fff;
border: none;
>
.close position: absolute;
top: 30px;
right: 30px;
cursor: pointer;
>

Всплывающее Popup окно после нажатия на кнопку.

Создание функции появления popup окна

Механизм действия функция очень простой — она находит элемент #popup и добавляет ему класс active. В классе active есть два свойства:

visibility: visible;/*показать popup*/
top: 50%;/*появление окна сверху*/

Повесим на кнопку подписки событие клика. При клике на кнопку, запускается функция popupToggle().

Переходите на видеокурс по JavaScript и приобретайте необходимые навыки для получения востребованной профессии frontend-разработчика.

Создано 05.11.2021 10:36:35

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

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

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

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

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

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

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

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

    Для добавления комментариев надо войти в систему.
    Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.

    Copyright © 2010-2023 Русаков Михаил Юрьевич. Все права защищены.

    Источник

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