要使用CSS实现文字滚动效果,可以使用@keyframes
规则创建动画,并使用animation
属性应用到文本元素上。以下是一个简单的例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Text Scroll Animation</title>
<style>
.scroll-text {
overflow: hidden; /* 确保文本超出元素时隐藏 */
white-space: nowrap; /* 确保文本在一行内显示,不换行 */
position: relative; /* 相对定位,方便动画使用absolute */
}
.scroll-text::after {
content: "";
position: absolute;
width: 100%;
height: 100%;
background: linear-gradient(to right, transparent, #000 50%); /* 创建左至右的半透明遮罩 */
animation: scroll 5s linear infinite; /* 应用滚动动画 */
}
@keyframes scroll {
from {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}
</style>
</head>
<body>
<div class="scroll-text">
这是一个滚动的文本效果,它会不停地从右向左滚动。
</div>
</body>
</html>
在这个例子中,.scroll-text
是需要滚动文本的元素。我们使用 ::after
伪元素创建一个遮罩,该遮罩应用了一个渐变背景,从左到右半透明。@keyframes
规则定义了名为 scroll
的动画,它使遮罩从右向左移动。通过将动画应用到遮罩上,我们得到了连续滚动的效果。