Использование анимации и градиента
Если хотите, чтобы граница плавно менялась между двумя цветами, можно использовать линейный градиент и анимацию:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Меняющийся бордюр</title>
<style>
.border-animated {
width: 200px;
height: 200px;
margin: 50px auto;
box-shadow: inset 0 0 0 3px transparent; /* внутренняя рамка */
animation: border-change 5s infinite alternate;
}
@keyframes border-change {
0% {
box-shadow: inset 0 0 0 3px rgba(255, 0, 0, 1); /* красный */
}
100% {
box-shadow: inset 0 0 0 3px rgba(0, 0, 255, 1); /* синий */
}
}
</style>
</head>
<body>
<div class="border-animated"></div>
</body>
</html>Переливающееся изменение цвета границ
Если хотите, чтобы бордюр плавно переливался между несколькими цветами, можно использовать градиентный переход и анимацию:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Переливающийся бордюр</title>
<style>
.rainbow-border {
width: 200px;
height: 200px;
margin: 50px auto;
border-radius: 50%;
background: radial-gradient(ellipse at center, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 100%);
box-shadow: inset 0 0 0 3px transparent; /* внутренний бордюр */
animation: rainbow-border 10s infinite linear;
}
@keyframes rainbow-border {
0% {
box-shadow: inset 0 0 0 3px rgb(255, 0, 0); /* Красный */
}
25% {
box-shadow: inset 0 0 0 3px rgb(255, 255, 0); /* Желтый */
}
50% {
box-shadow: inset 0 0 0 3px rgb(0, 255, 0); /* Зеленый */
}
75% {
box-shadow: inset 0 0 0 3px rgb(0, 0, 255); /* Синий */
}
100% {
box-shadow: inset 0 0 0 3px rgb(255, 0, 0); /* Красный */
}
}
</style>
</head>
<body>
<div class="rainbow-border"></div>
</body>
</html>Что происходит в коде:
box-shadow: свойство, которое позволяет создать внутреннюю границу элемента (это наша "линия").@keyframes: анимация, которая изменяет цвет внутренней границы плавно между ключевыми кадрами.transition: плавный переход между цветами можно задать и без градиента, но с анимацией (эффект плавного перетекания цветов).
Используя анимацию и градиенты, вы можете легко реализовать эффект плавно меняющегося цвета бордюра. Оба представленных способа просты в реализации и дадут интересный визуальный эффект.