javascript - 如何使溢出文本从左到右动画?
问题描述
这个概念很简单,当文本对容器来说太长时,它会从左到右无限动画(滚动),并在到达结尾后重复这个过程。
我该怎么做这个?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
<body>
<div class="auto-scroll">
<p>
This text should scroll. Lorem ipsum dolor sit amet consectetur adipisicing elit. Excepturi commodi magni quo officia error ab veniam aspernatur. Quos ducimus, hic, maxime dicta optio quidem
nostrum sint commodi velit, ut distinctio. And return to beginning.
</p>
</div>
<style>
.auto-scroll {
background: black;
padding: 18px;
}
.auto-scroll p {
font-family: monospace;
font-size: 18px;
color: white;
margin: 0;
white-space: nowrap;
overflow: auto;
}
.auto-scroll ::-webkit-scrollbar {
height: 10px; /* will be 0px */
}
.auto-scroll ::-webkit-scrollbar-track {
background: #000;
}
.auto-scroll ::-webkit-scrollbar-thumb {
background: #fff;
}
</style>
</body>
</html>
解决方案
你不需要javascript,你可以像下面的代码一样在css中制作它
div{
width: 100%;
background-color: black;
white-space: nowrap;
overflow: hidden;
box-sizing: border-box;
}
p{
display: inline-block;
color: #FFF;
padding-left: 100%;
animation: move 25s linear infinite;
}
@keyframes move {
0% { transform: translate(0, 0); }
100% { transform: translate(-100%, 0); }
}
<div>
<p>This text should scroll. Lorem ipsum dolor sit amet consectetur adipisicing elit. Excepturi commodi magni quo officia error ab veniam aspernatur. Quos ducimus, hic, maxime dicta optio quidem nostrum sint commodi velit, ut distinctio. And return to beginning.</p>
</div>
推荐阅读
- java - actionListener 和循环与 if-else 的组合
- c - C 编程:参数:无法转换为 int*
- c++ - 如何编写工厂方法;我在遵循 C++ 代码时出错
- node.js - WebSocket 错误,意外响应代码:200 与 Nginx 和 Node.js
- javascript - 在容器上设置的点击事件,正在子元素上调用并破坏逻辑
- python - Makedirs 正在创建文件而不是文件夹
- java - 如何在 JSP 中的表单的值字段中显示包含空格的字符串变量?
- django - Django返回响应而不通过views.py
- java - 您如何通过流程构建器将输入发送到 jar,同时还接收来自 jar 的输出
- python - 在第 21 行,它说存在语法错误。错误代码 e0001