Демо
  • 3,28 КБ
  • HTML, CSS
  • Кнопка
  • свечение
  • Лицензия MIT
HTML
<a class="rainbow-btn">Радужная кнопка</a>
CSS
.rainbow-btn {
    font-family: Arial;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    position: relative;
    padding: 20px 30px;
    text-decoration: none;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    -moz-transition: 0.5s;
    transition: 0.5s;
    background: -webkit-gradient(linear, left top, right top, from(#03a9f4), color-stop(#f441a5), color-stop(#ffeb3b), to(#03a9f4));
    background: -webkit-linear-gradient(left, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background: -moz-linear-gradient(left, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background: -o-linear-gradient(left, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    -webkit-background-size: 400% 400%;
    -moz-background-size: 400%;
    -o-background-size: 400%;
    background-size: 400%;
    -webkit-animation: rainbow 8s linear infinite;
    -moz-animation: rainbow 8s linear infinite;
    -o-animation: rainbow 8s linear infinite;
    animation: rainbow 8s linear infinite;
}
@-webkit-keyframes rainbow {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}
@-moz-keyframes rainbow {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}
@-o-keyframes rainbow {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}
@keyframes rainbow {
    0% {
        background-position: 0%;
    }
    100% {
        background-position: 400%;
    }
}
.rainbow-btn:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    z-index: -1;
    background: -webkit-gradient(linear, left top, right top, from(#03a9f4), color-stop(#f441a5), color-stop(#ffeb3b), to(#03a9f4));
    background: -webkit-linear-gradient(left, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background: -moz-linear-gradient(left, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background: -o-linear-gradient(left, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    background: linear-gradient(90deg, #03a9f4, #f441a5, #ffeb3b, #03a9f4);
    -webkit-background-size: 400% 400%;
    -moz-background-size: 400%;
    -o-background-size: 400%;
    background-size: 400%;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    opacity: 0.5;
    -webkit-transition: 0.5s;
    -o-transition: 0.5s;
    -moz-transition: 0.5s;
    transition: 0.5s;
    -webkit-animation: rainbow 8s linear infinite;
    -moz-animation: rainbow 8s linear infinite;
    -o-animation: rainbow 8s linear infinite;
    animation: rainbow 8s linear infinite;
    -webkit-filter: blur(5px);
    filter: blur(5px);
}
.rainbow-btn:hover:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-filter: blur(20px);
    filter: blur(20px);
    opacity: 1;
}

В этом фрагменте кода представлена визуально потрясающая кнопка, созданная с использованием HTML и CSS. Это интерактивный элемент, который действительно выделяется на странице. Кнопка разработана с градиентным фоном, который плавно переходит через спектр цветов, напоминая радугу. Эффект не статичен; он анимирован и перемещается по кнопке, придавая ей динамичный, светящийся вид, который привлекает внимание.

Магия CSS, которая заставляет эту кнопку светиться и анимироваться, включает в себя сочетание градиентов, анимаций и переходов. Фон изначально установлен с линейным градиентом, плавно смешивающим несколько цветов по всей кнопке. Градиент не фиксирован; он разработан так, чтобы со временем смещаться, создавая эффект движущегося свечения. Это движение достигается за счет анимаций ключевых кадров, которые непрерывно изменяют положение фона, заставляя цвета текуче перемещаться по кнопке в бесконечном цикле.

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

Меню