CSS 实现无缝滚动

效果展示

CSS 知识点

  • animation 综合运用

页面整体布局

html 复制代码
<div class="scroll" style="--t: 20s">
  <div>
    <span>HTML</span>
    <span>CSS</span>
    <span>JavaScript</span>
    <span>React</span>
    <span>Vue</span>
    <span>Figma</span>
    <span>PhotoShop</span>
    <span>Angular</span>
  </div>
  <div>
    <span>HTML</span>
    <span>CSS</span>
    <span>JavaScript</span>
    <span>React</span>
    <span>Vue</span>
    <span>Figma</span>
    <span>PhotoShop</span>
    <span>Angular</span>
  </div>
</div>

核心样式

编写基础样式

css 复制代码
.scroll {
  position: relative;
  display: flex;
  width: 700px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(
    90deg,
    transparent,
    #fff 20%,
    #fff 80%,
    transparent
  );
}

.scroll div {
  white-space: nowrap;
}

.scroll div span {
  display: inline-flex;
  margin: 10px;
  background: #333;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  transition: 0.5s;
  letter-spacing: 0.2em;
}

.scroll div span:hover {
  background: #4caf50;
  cursor: pointer;
}

编写动画样式

css 复制代码
.scroll div {
  white-space: nowrap;
}

@keyframes animate {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

完整代码下载

完整代码下载

相关推荐
这里有鱼汤14 分钟前
Python 的 bisect 模块:这个冷门宝藏你用对了吗?
前端·后端·python
博览鸿蒙15 分钟前
FPGA设计职位介绍|如何成为一名合格的数字前端设计工程师?
前端·fpga开发
老胡说前端16 分钟前
JS 数组相同的key 进行合并
前端·javascript·vue.js
kovlistudio23 分钟前
红宝书第三十二讲:零基础学会模块打包器:Webpack、Parcel、Rollup
前端·javascript·webpack·node.js
这里有鱼汤26 分钟前
Python 跨平台路径处理:最优解来了!
前端·后端·python
SailingCoder27 分钟前
npm ERR! CXX(target) Release/obj.target/deasync/src/deasync.o
前端·npm·node.js
念九_ysl1 小时前
使用 Vue 快速集成 FullCalendar 日历组件教程
前端·javascript·vue.js
造夢先森1 小时前
SpringAI+MCP协议 实战
前端·javascript·easyui
恋猫de小郭2 小时前
你为什么需要了解 Dart AST?一个简单的 bug 带你快速认识下 Dart Kernel AST
android·前端·flutter
excel2 小时前
webpack 格式化模块 第 二 节
前端