
В настоящее время, UX является ключевым фактором в создании / дизайне продукта или системы. Чтобы обеспечить хороший пользовательский опыт, разработчики изо всех сил стараются создавать интуитивный дизайн и эффективную интерактивность.
UX (user experience) это термин, который используется для описания общего впечатления и удовлетворенности пользователей при использовании продукта или системы. Так образом, хороший UX всегда сделает пользователя счастливым, а бизнес более успешным.
Сообщения в виде уведомлений, являются важной частью пользовательского опыта, и вы не можете позволить себе их упустить. Уведомление должно появляться каждый раз, когда пользователь выполняет важные задачи.
Разновидности уведомлений
Ниже представлен список общепринятых уведомлений:
- Информационный (info)
- Ошибки (error)
- Предупреждения (warning)
- Успешное выполнение задачи (success)
Информационный (info)
Ее целью является информирование пользователей о соответствующем вопросе.
Ошибки (error)
Когда операция закончилась неуспешно, пользователь должен быть уведомлен. Например: “Аккаунт не может быть удален.” или “Настройки не были сохранены” и т.д
Предупреждения (warning)
Этот тип сообщения уведомит пользователя о состоянии, которое может вызвать проблемы в будущем.
Успешное выполнение задачи (success)
Сообщение об успехе, должно отображаться после того как пользователь удачно выполнил действие.
HTML
Начнем с разметки HTML. Здесь все довольно-таки просто: 4 контейнера с заголовком и описанием уведомления.
<div class="info message"> <h3>Важно!</h3> <p>Это всего лишь информационное уведомление.</p> </div> <div class="error message"> <h3>Упс, произошла ошибка</h3> <p>Это всего лишь уведомление об ошибке.</p> </div> <div class="warning message"> <h3>Минуточку, мы должны Вас предупредить!</h3> <p>Это всего лишь предупредительное сообщение.</p> </div> <div class="success message"> <h3>Поздравляем, вы завершили действие!</h3> <p>Это всего лишь уведомление об успешном действие.</p> </div>
CSS
.message{
background-size: 40px 40px;
background-image: linear-gradient(135deg, rgba(255, 255, 255, .05) 25%,
transparent 25%,
transparent 50%, rgba(255, 255, 255, .05) 50%, rgba(255, 255, 255, .05) 75%,
transparent 75%, transparent);
box-shadow: inset 0 -1px 0 rgba(255,255,255,.4);
width: 100%;
border: 1px solid;
color: #fff;
padding: 15px;
position: fixed;
_position: absolute;
text-shadow: 0 1px 0 rgba(0,0,0,.5);
animation: animate-bg 5s linear infinite;
}
.info{
background-color: #4ea5cd;
border-color: #3b8eb5;
}
.error{
background-color: #de4343;
border-color: #c43d3d;
}
.warning{
background-color: #eaaf51;
border-color: #d99a36;
}
.success{
background-color: #61b832;
border-color: #55a12c;
}
.message h3{
margin: 0 0 5px 0;
}
.message p{
margin: 0;
}
@keyframes animate-bg {
from {
background-position: 0 0;
}
to {
background-position: -80px 0;
}
}Обратите внимание на animate-bg, который оживляет фоновые диагональные полосы. Конечно для того, чтобы увидеть этот эффект, вы должны использовать последние Webkit браузеры, такие как Chrome / Safari или Mozilla 5 +.
Уведомления будут изначально скрыты. Для этого мы будем использовать фиксированное позиционирование ( absolute значение применяется только для IE6, поскольку там нету position:fixed поддержки).
position: fixed; _position: absolute; /* IE6 only */
jQuery
Определение типа сообщения с использованием массива (array):
var myMessages = ['info','warning','error','success'];
Функция ниже скрывает уведомления. У сообщений может быть динамическая высота, поэтому, чтобы скрыть его должным образом, нам нужно рассчитать высоту каждого из них.
function hideAllMessages()
{
var messagesHeights = new Array(); // этот массив сохранит высоту
для каждого
for (i=0; i<myMessages.length; i++)
{
messagesHeights[i] = $('.' + myMessages[i]).outerHeight(); // заполнить массив
$('.' + myMessages[i]).css('top', -messagesHeights[i]); //передвинуть элемент
за viewport
}
}Функция showMessage вызывается, когда документ готов.
function showMessage(type)
{
$('.'+ type +'-trigger').click(function(){
hideAllMessages();
$('.'+type).animate({top:"0"}, 500);
});
}При загрузке страницы, мы в первую очередь скрываем все сообщения: hideAllMessages(). Затем, для каждого триггера, мы показываем эквивалентное сообщение:
$(document).ready(function(){
// Спрятать все изначально
hideAllMessages();
// Показать сообщение
for(var i=0;i<myMessages.length;i++)
{
showMessage(myMessages[i]);
}
// Когда по сообщению кликнули, спрятать его
$('.message').click(function(){
$(this).animate({top: -$(this).outerHeight()}, 500);
});
});Заключение
С использованием CSS3, вы можете найти бесконечные варианты оформления дизайна уведомлений. Наш вариант является лишь минимальным примером без изображений (для простоты) и “наворотов”. Но дизайн, это еще не все, функциональность и интерактивность играют здесь очень важную роль.
Высоких конверсий!





