Страница 404 одна из наиболее распространенных страниц-ошибок для сайта, действие пользователей часто приводит к перенаправлению их на данную страницу, но когда посетитель видит обычную страницу ошибку, зачастую его просмотр сайта заканчивается, но как сделать, чтобы при попадании на такую страницу пользователи не убегали отвал, а возвращались назад к просмотру сайта.
В данном уроке мы рассмотрим как создать и стилизовать достаточно креативную и «живую» страницу 404, которая будет анимационная и приятно радовать глаз.
И так, давайте приступим.
Шаг 1. HTMLНам необходимо создать тело документа, в котором будет общий контейнер, затем мы создает видимость кода, нам необходимо разукрасить каждую строчку:
<div class="error">
<div class="wrap">
<div class="404">
<pre><code>
<span class="green"><!</span><span>DOCTYPE html</span><span class="green">></span>
<span class="orange"><html></span>
<span class="orange"><style></span>
* {
<span class="green">everything</span>:<span class="blue">awesome</span>;
}
<span class="orange"></style></span>
<span class="orange"><body></span>
ОПАЧКИ 404!
файл не найден!
<span class="comment"><!--Вернитесь назад,
для дальнейшего просмотра сайта.-->
</span>
<span class="orange"></span>
</div>
<br />
<span class="info">
<br />
<span class="orange"> </body></span>
<br/>
<span class="orange"></html></span>
</code></pre>
</div>
Каждый пункт мы выводим по очередности, стоит отметить, что надписи большим текстом мы реализовали через CSS, соответственно контент для изменения нужно редактировать в файле стилей.
Шаг 2. СSSТак как мы осуществили половину задуманного теперь нам нужно все это оживить, на самом деле все просто, мы указываем трансформации для текста, для этого необходимо указать траекторию анимации, мы будем работать с двумя плоскостями X и Y, для которых мы указываем интервал в секундах.
.error {
text-align: center;
font-family: 'Gilda Display', serif;
text-align: center;
width: 100%;
height: 120px;
margin: auto;
position: absolute;
top: 0;
bottom: 0;
left: -60px;
right: 0;
-webkit-animation: noise-3 1s linear infinite;
animation: noise-3 1s linear infinite;
overflow: default;
}
body:after {
content: 'error 404';
font-family: OCR-A;
font-size: 100px;
text-align: center;
width: 550px;
margin: auto;
position: absolute;
top: 25%;
bottom: 0;
left: 0;
right: 35%;
opacity: 0;
color: white;
-webkit-animation: noise-1 .2s linear infinite;
animation: noise-1 .2s linear infinite;
}
body:before {
content: 'error 404';
font-family: OCR-A;
font-size: 100px;
text-align: center;
width: 550px;
margin: auto;
position: absolute;
top: 25%;
bottom: 0;
left: 0;
right: 35%;
opacity: 0;
color: white;
-webkit-animation: noise-2 .2s linear infinite;
animation: noise-2 .2s linear infinite;
}
.info {
text-align: center;
width: 200px;
height: 60px;
margin: auto;
position: absolute;
top: 280px;
bottom: 0;
left: 20px;
right: 0;
-webkit-animation: noise-3 1s linear infinite;
animation: noise-3 1s linear infinite;
}
.info:before {
content: 'file not found';
font-family: OCR-A;
font-size: 100px;
text-align: center;
width: 800px;
margin: auto;
position: absolute;
top: 20px;
bottom: 0;
left: 40px;
right: 100px;
opacity: 0;
color: white;
-webkit-animation: noise-2 .2s linear infinite;
animation: noise-2 .2s linear infinite;
}
.info:after {
content: 'file not found';
font-family: OCR-A;
font-size: 100px;
text-align: center;
width: 800px;
margin: auto;
position: absolute;
top: 20px;
bottom: 0;
left: 40px;
right: 0;
opacity: 0;
color: white;
-webkit-animation: noise-1 .2s linear infinite;
animation: noise-1 .2s linear infinite;
}
@-webkit-keyframes noise-1 {
0%, 20%, 40%, 60%, 70%, 90% {opacity: 0;}
10% {opacity: .1;}
50% {opacity: .5; left: -6px;}
80% {opacity: .3;}
100% {opacity: .6; left: 2px;}
}
@keyframes noise-1 {
0%, 20%, 40%, 60%, 70%, 90% {opacity: 0;}
10% {opacity: .1;}
50% {opacity: .5; left: -6px;}
80% {opacity: .3;}
100% {opacity: .6; left: 2px;}
}
@-webkit-keyframes noise-2 {
0%, 20%, 40%, 60%, 70%, 90% {opacity: 0;}
10% {opacity: .1;}
50% {opacity: .5; left: 6px;}
80% {opacity: .3;}
100% {opacity: .6; left: -2px;}
}
@keyframes noise-2 {
0%, 20%, 40%, 60%, 70%, 90% {opacity: 0;}
10% {opacity: .1;}
50% {opacity: .5; left: 6px;}
80% {opacity: .3;}
100% {opacity: .6; left: -2px;}
}
@-webkit-keyframes noise {
0%, 3%, 5%, 42%, 44%, 100% {opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1);}
4.3% {opacity: 1; -webkit-transform: scaleY(1.7); transform: scaleY(1.7);}
43% {opacity: 1; -webkit-transform: scaleX(1.5); transform: scaleX(1.5);}
}
@keyframes noise {
0%, 3%, 5%, 42%, 44%, 100% {opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1);}
4.3% {opacity: 1; -webkit-transform: scaleY(1.7); transform: scaleY(1.7);}
43% {opacity: 1; -webkit-transform: scaleX(1.5); transform: scaleX(1.5);}
}
@-webkit-keyframes noise-3 {
0%,3%,5%,42%,44%,100% {opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1);}
4.3% {opacity: 1; -webkit-transform: scaleY(4); transform: scaleY(4);}
43% {opacity: 1; -webkit-transform: scaleX(10) rotate(60deg); transform: scaleX(10) rotate(60deg);}
}
@keyframes noise-3 {
0%,3%,5%,42%,44%,100% {opacity: 1; -webkit-transform: scaleY(1); transform: scaleY(1);}
4.3% {opacity: 1; -webkit-transform: scaleY(4); transform: scaleY(4);}
43% {opacity: 1; -webkit-transform: scaleX(10) rotate(60deg); transform: scaleX(10) rotate(60deg);}
}
Как вы поняли ничего сложного нет, также мы указываем процент отображения на странице, уровень прозрачности. Надеюсь данный урок был Вам интересен.
Скачивание файлов доступно только зарегистрированным пользователям