Текст №2
- 9,75 КБ
- CSS, HTML
- Текст
- анимация, свечение
- Лицензия MIT
<h1 class="glow-text-1" data-text="чёрное зеркало"><span>чёрное зеркало</span></h1>
.glow-text-1 {
position: relative;
font-family: "Montserrat", Arial, sans-serif;
font-size: -webkit-calc(20px + 5vw);
font-size: -moz-calc(20px + 5vw);
font-size: calc(20px + 5vw);
font-weight: 700;
color: #fff;
letter-spacing: 0.02em;
text-transform: uppercase;
text-shadow: 0 0 0.15em #1da9cc;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
white-space: nowrap;
-webkit-filter: blur(0.007em);
filter: blur(0.007em);
-webkit-animation: shake-glow-text-1 2.5s linear forwards;
-moz-animation: shake-glow-text-1 2.5s linear forwards;
-o-animation: shake-glow-text-1 2.5s linear forwards;
animation: shake-glow-text-1 2.5s linear forwards;
}
.glow-text-1 span {
position: absolute;
top: 0;
left: 0;
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
-webkit-clip-path: polygon(10% 0%, 44% 0%, 70% 100%, 55% 100%);
clip-path: polygon(10% 0%, 44% 0%, 70% 100%, 55% 100%);
}
.glow-text-1::before,
.glow-text-1::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
}
.glow-text-1::before {
-webkit-animation: crack1-glow-text-1 2.5s linear forwards;
-moz-animation: crack1-glow-text-1 2.5s linear forwards;
-o-animation: crack1-glow-text-1 2.5s linear forwards;
animation: crack1-glow-text-1 2.5s linear forwards;
-webkit-clip-path: polygon(0% 0%, 10% 0%, 55% 100%, 0% 100%);
clip-path: polygon(0% 0%, 10% 0%, 55% 100%, 0% 100%);
}
.glow-text-1::after {
-webkit-animation: crack2-glow-text-1 2.5s linear forwards;
-moz-animation: crack2-glow-text-1 2.5s linear forwards;
-o-animation: crack2-glow-text-1 2.5s linear forwards;
animation: crack2-glow-text-1 2.5s linear forwards;
-webkit-clip-path: polygon(44% 0%, 100% 0%, 100% 100%, 70% 100%);
clip-path: polygon(44% 0%, 100% 0%, 100% 100%, 70% 100%);
}
@-webkit-keyframes shake-glow-text-1 {
5%,
15%,
25%,
35%,
55%,
65%,
75%,
95% {
-webkit-filter: blur(0.018em);
filter: blur(0.018em);
-webkit-transform: translateY(0.018em) rotate(0deg);
transform: translateY(0.018em) rotate(0deg);
}
10%,
30%,
40%,
50%,
70%,
80%,
90% {
-webkit-filter: blur(0.01em);
filter: blur(0.01em);
-webkit-transform: translateY(-0.018em) rotate(0deg);
transform: translateY(-0.018em) rotate(0deg);
}
20%,
60% {
-webkit-filter: blur(0.03em);
filter: blur(0.03em);
-webkit-transform: translate(-0.018em, 0.018em) rotate(0deg);
transform: translate(-0.018em, 0.018em) rotate(0deg);
}
45%,
85% {
-webkit-filter: blur(0.03em);
filter: blur(0.03em);
-webkit-transform: translate(0.018em, -0.018em) rotate(0deg);
transform: translate(0.018em, -0.018em) rotate(0deg);
}
100% {
-webkit-filter: blur(0.007em);
filter: blur(0.007em);
-webkit-transform: translate(0) rotate(-0.5deg);
transform: translate(0) rotate(-0.5deg);
}
}
@-moz-keyframes shake-glow-text-1 {
5%,
15%,
25%,
35%,
55%,
65%,
75%,
95% {
filter: blur(0.018em);
-moz-transform: translateY(0.018em) rotate(0deg);
transform: translateY(0.018em) rotate(0deg);
}
10%,
30%,
40%,
50%,
70%,
80%,
90% {
filter: blur(0.01em);
-moz-transform: translateY(-0.018em) rotate(0deg);
transform: translateY(-0.018em) rotate(0deg);
}
20%,
60% {
filter: blur(0.03em);
-moz-transform: translate(-0.018em, 0.018em) rotate(0deg);
transform: translate(-0.018em, 0.018em) rotate(0deg);
}
45%,
85% {
filter: blur(0.03em);
-moz-transform: translate(0.018em, -0.018em) rotate(0deg);
transform: translate(0.018em, -0.018em) rotate(0deg);
}
100% {
filter: blur(0.007em);
-moz-transform: translate(0) rotate(-0.5deg);
transform: translate(0) rotate(-0.5deg);
}
}
@-o-keyframes shake-glow-text-1 {
5%,
15%,
25%,
35%,
55%,
65%,
75%,
95% {
filter: blur(0.018em);
-o-transform: translateY(0.018em) rotate(0deg);
transform: translateY(0.018em) rotate(0deg);
}
10%,
30%,
40%,
50%,
70%,
80%,
90% {
filter: blur(0.01em);
-o-transform: translateY(-0.018em) rotate(0deg);
transform: translateY(-0.018em) rotate(0deg);
}
20%,
60% {
filter: blur(0.03em);
-o-transform: translate(-0.018em, 0.018em) rotate(0deg);
transform: translate(-0.018em, 0.018em) rotate(0deg);
}
45%,
85% {
filter: blur(0.03em);
-o-transform: translate(0.018em, -0.018em) rotate(0deg);
transform: translate(0.018em, -0.018em) rotate(0deg);
}
100% {
filter: blur(0.007em);
-o-transform: translate(0) rotate(-0.5deg);
transform: translate(0) rotate(-0.5deg);
}
}
@keyframes shake-glow-text-1 {
5%,
15%,
25%,
35%,
55%,
65%,
75%,
95% {
-webkit-filter: blur(0.018em);
filter: blur(0.018em);
-webkit-transform: translateY(0.018em) rotate(0deg);
-moz-transform: translateY(0.018em) rotate(0deg);
-o-transform: translateY(0.018em) rotate(0deg);
transform: translateY(0.018em) rotate(0deg);
}
10%,
30%,
40%,
50%,
70%,
80%,
90% {
-webkit-filter: blur(0.01em);
filter: blur(0.01em);
-webkit-transform: translateY(-0.018em) rotate(0deg);
-moz-transform: translateY(-0.018em) rotate(0deg);
-o-transform: translateY(-0.018em) rotate(0deg);
transform: translateY(-0.018em) rotate(0deg);
}
20%,
60% {
-webkit-filter: blur(0.03em);
filter: blur(0.03em);
-webkit-transform: translate(-0.018em, 0.018em) rotate(0deg);
-moz-transform: translate(-0.018em, 0.018em) rotate(0deg);
-o-transform: translate(-0.018em, 0.018em) rotate(0deg);
transform: translate(-0.018em, 0.018em) rotate(0deg);
}
45%,
85% {
-webkit-filter: blur(0.03em);
filter: blur(0.03em);
-webkit-transform: translate(0.018em, -0.018em) rotate(0deg);
-moz-transform: translate(0.018em, -0.018em) rotate(0deg);
-o-transform: translate(0.018em, -0.018em) rotate(0deg);
transform: translate(0.018em, -0.018em) rotate(0deg);
}
100% {
-webkit-filter: blur(0.007em);
filter: blur(0.007em);
-webkit-transform: translate(0) rotate(-0.5deg);
-moz-transform: translate(0) rotate(-0.5deg);
-o-transform: translate(0) rotate(-0.5deg);
transform: translate(0) rotate(-0.5deg);
}
}
@-webkit-keyframes crack1-glow-text-1 {
0%,
95% {
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-webkit-transform: translate(-51%, -48%);
transform: translate(-51%, -48%);
}
}
@-moz-keyframes crack1-glow-text-1 {
0%,
95% {
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-moz-transform: translate(-51%, -48%);
transform: translate(-51%, -48%);
}
}
@-o-keyframes crack1-glow-text-1 {
0%,
95% {
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-o-transform: translate(-51%, -48%);
transform: translate(-51%, -48%);
}
}
@keyframes crack1-glow-text-1 {
0%,
95% {
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-webkit-transform: translate(-51%, -48%);
-moz-transform: translate(-51%, -48%);
-o-transform: translate(-51%, -48%);
transform: translate(-51%, -48%);
}
}
@-webkit-keyframes crack2-glow-text-1 {
0%,
95% {
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-webkit-transform: translate(-49%, -53%);
transform: translate(-49%, -53%);
}
}
@-moz-keyframes crack2-glow-text-1 {
0%,
95% {
-moz-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-moz-transform: translate(-49%, -53%);
transform: translate(-49%, -53%);
}
}
@-o-keyframes crack2-glow-text-1 {
0%,
95% {
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-o-transform: translate(-49%, -53%);
transform: translate(-49%, -53%);
}
}
@keyframes crack2-glow-text-1 {
0%,
95% {
-webkit-transform: translate(-50%, -50%);
-moz-transform: translate(-50%, -50%);
-o-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
100% {
-webkit-transform: translate(-49%, -53%);
-moz-transform: translate(-49%, -53%);
-o-transform: translate(-49%, -53%);
transform: translate(-49%, -53%);
}
}
Представьте, что мы погружаемся в мир веб-дизайна, особенно в создание эффектов для текста, чтобы он не просто выделялся, но буквально светился и танцевал на экране. Код, который мы рассматриваем, делает именно это, создавая анимированный эффект свечения текста, напоминающий заголовки научно-фантастических шоу или фильмов.
Суть магии заключается в CSS (каскадные таблицы стилей), языке стилизации веба. Этот фрагмент кода определяет класс, который применяется к HTML элементу и включает в себя свойства, работающие вместе, чтобы создать желаемый эффект свечения.
Код также использует анимации, заставляя текст не просто светиться, но и трястись, благодаря определенным ключевым кадрам. Эти анимации создают эффект вибрации или тряски текста, делая его динамичным и почти живым.
В итоге получается яркий, светящийся текст, который кажется треснувшим и трясущимся, как будто насыщен некой иной энергией. Это поразительный эффект, который может заставить любой заголовок или название выскочить с экрана.