博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端每日实战:7# 视频演示如何用纯 CSS 创作一个 3D 文字跑马灯特效
阅读量:5977 次
发布时间:2019-06-20

本文共 1342 字,大约阅读时间需要 4 分钟。

图片描述

效果预览

按下右侧的“点击预览”按钮在当前页面预览,点击链接全屏预览。

可交互视频教程

此视频是可以交互的,你可以随时暂停视频,编辑视频中的代码。

请用 chrome, safari, edge 打开观看。

源代码下载

请从 github 下载。

代码解读

定义 dom,包含2组重复的文字:

Hello World
Hello World

居中显示:

html,body {    height: 100%;    display: flex;    align-items: center;    justify-content: center;}

设置容器的尺寸和文字样式:

.box {    display: flex;}.box .inner {    width: 200px;    height: 100px;    line-height: 100px;    font-size: 32px;    font-family: sans-serif;    font-weight: bold;    white-space: nowrap;}

配色:

.box .inner:first-child {    background-color: indianred;    color: darkred;}.box .inner:last-child {    background-color: lightcoral;    color: antiquewhite;}

设置 3d 效果:

.box .inner:first-child {    transform-origin: left;    transform: perspective(300px) rotateY(-67.3deg);}.box .inner:last-child {    transform-origin: right;    transform: perspective(300px) rotateY(67.3deg);}

定义动画效果:

@keyframes marquee {    from {        left: 100%;    }    to {        left: -100%;    }}

把动画效果应用到文字上,并隐藏容器外的内容:

.box .inner span {    position: absolute;    animation: marquee 5s linear infinite;}.box .inner {    overflow: hidden;}

让左侧的文字延迟运动,模拟出2组文字连贯运动的效果:

.box .inner:first-child span {    animation-delay: 2.5s;    left: -100%;}

大功告成!

知识点

  • transform-origin
  • perspective
  • rotateY()
  • animation-delay

转载地址:http://ikpox.baihongyu.com/

你可能感兴趣的文章
驱动学习之驱动和应用的接口
查看>>
hbase region split源码分析
查看>>
MySQL备份之分库分表备份脚本
查看>>
Java 与 Netty 实现高性能高并发
查看>>
SurfControl人工智能新突破 领跑反垃圾邮件
查看>>
一个动态ACL的案例
查看>>
openstack 之 windows server 2008镜像制作
查看>>
VI快捷键攻略
查看>>
Win server 2012 R2 文件服务器--(三)配额限制
查看>>
卓越质量管理成就创新高地 中关村软件园再出发
查看>>
linux rsync 远程同步
查看>>
httpd的manual列目录漏洞
查看>>
myeclipse2014破解过程
查看>>
漫谈几种反编译对抗技术
查看>>
Timer 和 TimerTask 例子
查看>>
Spring BOOT 集成 RabbitMq 实战操作(一)
查看>>
安装python3.5注意事项及相关命令
查看>>
进程通信之无名信号量
查看>>
并发串行调用接口
查看>>
FileStream大文件复制
查看>>