0

我制作了一个 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;
}
}
4

2 回答 2

3

尝试这个:

@keyframes shine {
    0% {
        transform: translatex(0px) translatey(0px)
    }
    100% {
        transform: translatex(100px) translatey(100px);
    }
}

jsFiddle

MDN 翻译文档

于 2013-05-14T16:17:15.933 回答
1

您可以在结束位置从上到下更改:

@-webkit-keyframes shine
{
0%
{
background-position: top left;
}
28%,100%
{
background-position: bottom right;
}
}

然而,最有可能的影响不会很明显。原因是这是一个块元素,很可能它向右延伸到文本末尾之外。所以,对角线是相当平坦的。你可以检查这个删除

-webkit-background-clip: text;

财产; 您现在将看到所有 h1 和背景运动。

为了让它更“对角线”,你需要让它不那么“更宽”;更简单的方法可能只是指定一个宽度。

另外,如果你想制作发光效果,我会选择径向渐变而不是线性渐变。如果您不知道,请检查colorzilla并在方向选择径向

顺便说一句,你的问题对我来说听起来很熟悉:-)

于 2013-05-14T21:00:08.330 回答