添加 CSS
- 使用 background-image 属性为元素指定背景图像。
我们选择值以及背景的颜色。
文本仍然是文本。
它可以是可搜索、可选择和可复制的。
- 使用 text-fill-color 属性。
其中我们需要使 text-fill-color 透明,以便背景图像可见。
- 放置 background-size 属性,它定义了背景图像的大小。
- 使用背景剪辑属性。
选择“text”值,这样背景就会被绘制在前景文本中。
背景剪辑:文本;仅适用于基于 Webkit 的浏览器(Google Chrome、Safari、Opera)。
- 为文本添加动画。
当然,这里我们需要 CSS @keyframes,它我们通过定义动画序列中关键帧(或者航点)的样式来指定动画期间特定时刻应该发生的事情。
如果你想让动画无休止地播放,你应该使用“infinite”值。
我们可以使用不同的 CSS 动画属性值,让动画更具创意。
.animated-text {
background-image: -webkit-linear-gradient(DarkSalmon 50%, LightYellow 50%);
background-size: 100% 50px;
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
-webkit-animation: stripes 2s linear infinite;
animation: stripes 2s linear infinite;
font-size: 100px;
}
@-webkit-keyframes stripes {
100% {
background-position: 0 -50px;
}
}
@keyframes stripes {
100% {
background-position: 0 -50px;
}
}
现在让我们把它们放在一起并尝试一些例子。
使用 background-image 属性的“linear-gradient”值创建动画填充文本的示例:
<!DOCTYPE html>
<html>
<head>
<style>
.animated-text {
background-image: -webkit-linear-gradient(DarkSalmon 50%, LightYellow 50%);
background-size: 100% 50px;
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
-webkit-animation: stripes 2s linear infinite;
animation: stripes 2s linear infinite;
font-size: 100px;
}
@-webkit-keyframes stripes {
100% {
background-position: 0 -50px;
}
}
@keyframes stripes {
100% {
background-position: 0 -50px;
}
}
</style>
</head>
<body>
<div class="animated-text">
Trust yourself!
</div>
</body>
</html>
我们可以选择 CSS background-image 属性的“URL”值并添加任何图像,而不是“linear-gradient”值。
使用 background-image 属性的“URL”值创建动画填充文本的示例:
<!DOCTYPE html>
<html>
<head>
<style>
.animated-text {
font-family: Impact;
background-image: url("https://bureau.ru/var/files/img1532613761");
background-size: 100% 50px;
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
-webkit-animation: stripes 2s linear infinite;
animation: stripes 2s linear infinite;
font-size: 100px;
}
@-webkit-keyframes stripes {
100% {
background-position: 0 -50px;
}
}
</style>
</head>
<body>
<div class="animated-text">
Trust yourself!
</div>
</body>
</html>
创建动画填充文本的示例:
<!DOCTYPE html>
<html>
<head>
<style>
@import url(http://fonts.googleapis.com/css?family=Open+Sans:800);
.text {
fill: none;
stroke-width: 6;
stroke-linejoin: round;
stroke-dasharray: 70 330;
stroke-dashoffset: 0;
-webkit-animation: stroke 6s infinite linear;
animation: stroke 6s infinite linear;
}
.text:nth-child(5n + 1) {
stroke: #F2385A;
-webkit-animation-delay: -1.2s;
animation-delay: -1.2s;
}
.text:nth-child(5n + 2) {
stroke: #F5A503;
-webkit-animation-delay: -2.4s;
animation-delay: -2.4s;
}
.text:nth-child(5n + 3) {
stroke: #E9F1DF;
-webkit-animation-delay: -3.6s;
animation-delay: -3.6s;
}
.text:nth-child(5n + 4) {
stroke: #56D9CD;
-webkit-animation-delay: -4.8s;
animation-delay: -4.8s;
}
.text:nth-child(5n + 5) {
stroke: #3AA1BF;
-webkit-animation-delay: -6s;
animation-delay: -6s;
}
@-webkit-keyframes stroke {
100% {
stroke-dashoffset: -400;
}
}
@keyframes stroke {
100% {
stroke-dashoffset: -400;
}
}
/* Other styles */
html,
body {
height: 100%;
}
body {
background: #111;
background-size: .2em 100%;
font: 14.5em/1 Open Sans, Impact;
text-transform: uppercase;
margin: 0;
}
svg {
position: absolute;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<svg viewBox="0 0 600 300">
<symbol id="s-text">
<text text-anchor="middle" x="50%" y="50%" dy=".35em">
Text
</text>
</symbol>
<!-- Duplicate symbols -->
<use xlink:href="#s-text" class="text"></use>
<use xlink:href="#s-text" class="text"></use>
<use xlink:href="#s-text" class="text"></use>
<use xlink:href="#s-text" class="text"></use>
<use xlink:href="#s-text" class="text"></use>
</svg>
</body>
</html>
创建 HTML
- 设置 <div> 标签并给它一个类名“animated-text”
<div class="animated-text"> Trust yourself! </div>
你有没有用动画阴影或者渐变创建文本?
如果没有,这个片段是给你的。
它将创建此类文本并使更具创意。
创建此类文本的最简单方法是使用 CSS background-clip 属性,该属性指定 background-color 和 background-image 应该离元素多远。
让我们一起尝试创建一个。
日期:2020-06-02 22:15:03 来源:oir作者:oir
