我制作了一个CSS动画,它会为文本设置动画效果。效果目前仅适用于水平。我想知道有没有办法可以改变动画的方向,使它看起来像一个逼真的对角线闪耀?
这是我目前的代码:
h1 {
font-family: 'BebasRegular', sans-serif;
font-size: 150px;
padding-bottom: 100px;
padding-top: 50px;
background: #E9AB17 -webkit-gradient(linear, left top, right top, from(#e8a917), to(#f4b011), color-stop(0.5, #fff)) 0 0 no-repeat;
-webkit-background-size: 155px;
color: rgba(255, 255, 255, 0.1);
-webkit-background-clip: text;
-webkit-animation-name: shine;
-webkit-animation-duration: 5s;
-webkit-animation-iteration-count: infinite;
}
@-webkit-keyframes shine
{
0%
{
background-position: top left;
}
28%,100%
{
background-position: top right;
}
}
答案 0 :(得分:3)
试试这个:
@keyframes shine {
0% {
transform: translatex(0px) translatey(0px)
}
100% {
transform: translatex(100px) translatey(100px);
}
}
答案 1 :(得分:1)
您可以在结束位置从上到下更改:
@-webkit-keyframes shine
{
0%
{
background-position: top left;
}
28%,100%
{
background-position: bottom right;
}
}
但是,很可能效果不明显。原因是这是一个块元素,并且很可能它延伸到远远超出文本末尾的右侧。因此,对角线非常平坦。你可以检查这个删除
-webkit-background-clip: text;
属性;你现在将看到所有的h1和背景运动。
为了使它更“对角”,你需要让它更“宽”;更简单的方法就是指定一个宽度。
另外,如果你想制作光泽效果,我会选择径向渐变而不是线性渐变。如果您不知道,请选中colorzilla并在方向中选择径向
顺便说一下,你的问题听起来很熟悉: - )