Как сделать - Предупреждающие сообщения, Оповещения
Узнайте, как создавать предупреждающие сообщения с помощью CSS.
Оповещения
Предупреждающие сообщения могут быть использованы для уведомления пользователя о чем-то особенном: опасность, успех, информация или предупреждение.
Создание оповещения
Шаг 1) добавить HTML:
Пример
<div class="alert">
<span class="closebtn"
onclick="this.parentElement.style.display='none';">×</span>
This is an alert box.
</div>
Если вы хотите закрыть оповещение, добавьте элемент <span> с атрибутом, onclick
который говорит: "при нажатии на меня скрывается мой родительский элемент", который является контейнером <div> (класс = "Alert").
Совет: Используйте объект HTML "×
" для создания буквы "x".
Шаг 2) добавить CSS:
Стиль окно оповещения и кнопка Закрыть:
Пример
/* The alert message box */
.alert {
padding: 20px;
background-color: #f44336; /* Red */
color: white;
margin-bottom: 15px;
}
/* The close button */
.closebtn {
margin-left: 15px;
color: white;
font-weight: bold;
float: right;
font-size: 22px;
line-height: 20px;
cursor: pointer;
transition: 0.3s;
}
/* When
moving the mouse over the close button */
.closebtn:hover {
color: black;
}
Много оповещений
Если на странице имеется много оповещений, можно добавить следующий сценарий для закрытия различных оповещений без использования атрибута OnClick для каждого элемента <span>.
И, если вы хотите, чтобы оповещения медленно исчезают, когда вы нажимаете на них, добавить opacity
и transition
к alert
классу:
Пример
<style>
.alert {
opacity: 1;
transition: opacity 0.6s; /* 600ms to fade out */
}
</style>
<script>
// Get all elements with class="closebtn"
var close = document.getElementsByClassName("closebtn");
var
i;
// Loop through all close buttons
for (i = 0; i < close.length; i++) {
// When someone clicks on a close button
close[i].onclick =
function(){
// Get the
parent of <span class="closebtn"> (<div class="alert">)
var div = this.parentElement;
// Set the opacity of div to
0 (transparent)
div.style.opacity = "0";
// Hide the div after 600ms
(the same amount of milliseconds it takes to fade out)
setTimeout(function(){ div.style.display = "none"; }, 600);
}
}
</script>
Совет: Также проверьте заметки.