アニメーション+グラデーションな枠
Result
css
#box {
display : flex ;
align-items : center ;
justify-content : center ;
width : 300px ;
height : 100px ;
color : white ;
}
.gradient-border {
--borderWidth: 3px ;
background : #1D1F20 ;
position : relative ;
border-radius : var(--borderWidth);
}
.gradient- border :after {
content : '' ;
position : absolute ;
top : calc( -1 * var(--borderWidth));
left : calc( -1 * var(--borderWidth));
height : calc( 100% + var(--borderWidth) * 2 );
width : calc( 100% + var(--borderWidth) * 2 );
background : linear-gradient ( 60 deg, #f79533 , #f37055 , #ef4e7b , #a166ab , #5073b8 , #1098ad , #07b39b , #6fba82 );
border-radius : calc( 2 * var(--borderWidth));
z-index : -1 ;
animation : animatedgradient 3 s ease alternate infinite ;
background-size : 300% 300% ;
}
@keyframes animatedgradient {
0% {
background-position : 0% 50% ;
}
50% {
background-position : 100% 50% ;
}
100% {
background-position : 0% 50% ;
}
}
|
html
< div class = "gradient-border" id = "box" >foo</ div >
|
ca i use
css変数のサポート状況
via
Animated CSS Gradient Border