文本/链接

CSS3超酷3D文字跑马灯特效

阿里云


这是一款使用纯 CSS3 制作的超酷 3D 文字跑马灯特效。该跑马灯特效将跑马灯背景制作为 3D 立方体效果,文字在上面移动时,就像是文字投影到墙壁上,在转角出会改变运动方向。

HTML 结构

使用该 3d 跑马灯效果使用一个<div>作为容器,里面有两个子<div>元素,分别用于制作跑马灯墙面的左右两个部分。aria-hidden="true"属性用于避免屏幕阅读器抓取时产生重复。

也想出现在这里?联系我们
创客主机
  1. <div id="marquee">
  2.   <div><span>欢迎访问jQuery之家</span></div>
  3.   <div aria-hidden="true"><span>欢迎访问jQuery之家</span></div>
  4. </div>

CSS 样式

跑马灯容器元素#marquee 上被设置了 3D 透视效果,透视度为 500。它里面的 div 元素显示为内联块级元素,并设置了相对宽度和高度。定位方式为相对定位。

  1. #marquee {
  2.   margin-top: 3rem;
  3.   -webkit-perspective: 500px;
  4.           perspective: 500px;
  5.   font-size: 0;
  6.   font-family: "Microsoft YaHei","Segoe UI", "Lucida Grande", Helvetica, Arial,sans-serif;
  7. }
  8. #marquee div {
  9.   display: inline-block;
  10.   height: 12rem;
  11.   width: 30rem;
  12.   position: relative;
  13. } 
  14. #marquee div {
  15.   font-size: 8rem;
  16.   overflow: hidden;
  17. }
  18.  
  19. #marquee div span {
  20.   position: absolute;
  21.   width: 400%;
  22.   line-height: 1.4;
  23. }

然后通过 div:first-of-type 和 div:last-of-type 分别为左右两个墙面设置背景,转换原点,文字颜色和旋转角度。

  1. #marquee div:first-of-type {
  2.   background: #e5233e;
  3.   -webkit-transform-origin: top right;
  4.           transform-origin: top right;
  5.   -webkit-transform: rotateY(-40deg);
  6.           transform: rotateY(-40deg);
  7.   color: #fff;
  8. }
  9.  
  10. #marquee div:last-of-type {
  11.   background: #b31e31;
  12.   -webkit-transform-origin: top left;
  13.           transform-origin: top left;
  14.   -webkit-transform: rotateY(45deg);
  15.           transform: rotateY(45deg);
  16.   color: #f8c9d9;
  17. }

前后两个前面中的 span 元素用于制作跑马灯动画效果,它们分别执行 leftcrawl 动画和 rightcrawl 动画,这两个动画都在 14 秒时间内通过 translateX()函数使元素在 X 轴方向上运动。

  1. @-webkit-keyframes leftcrawl {
  2.   to {
  3.     -webkit-transform: translateX(-100rem);
  4.             transform: translateX(-100rem);
  5.   }
  6. }
  7.  
  8. @keyframes leftcrawl {
  9.   to {
  10.     -webkit-transform: translateX(-100rem);
  11.             transform: translateX(-100rem);
  12.   }
  13. }
  14. @-webkit-keyframes rightcrawl {
  15.   to {
  16.     -webkit-transform: translateX(-130rem);
  17.             transform: translateX(-130rem);
  18.   }
  19. }
  20. @keyframes rightcrawl {
  21.   to {
  22.     -webkit-transform: translateX(-130rem);
  23.             transform: translateX(-130rem);
  24.   }
  25. }
  26. #marquee div:first-of-type span {
  27.   -webkit-transform: translateX(60rem);
  28.           transform: translateX(60rem);
  29.   -webkit-animation: leftcrawl 14s linear infinite;
  30.           animation: leftcrawl 14s linear infinite;
  31.   text-shadow: 4px 0px 4px rgba(0, 0, 0, 0.3);
  32. }
  33.  
  34. #marquee div:last-of-type span {
  35.   -webkit-transform: translateX(30rem);
  36.           transform: translateX(30rem);
  37.   -webkit-animation: rightcrawl 14s linear infinite;
  38.           animation: rightcrawl 14s linear infinite;
  39. }

最后,在设备屏幕的宽度小于 993 像素的时候,跑马灯会取消 3D 效果,显示为平面跑马灯效果。

  1. @media all and (max-width: 993px) {
  2.   #marquee {
  3.     -webkit-perspective: none;
  4.             perspective: none;
  5.   }
  6.  
  7.   #marquee div:last-of-type {
  8.     opacity: 0;
  9.     height: 0;
  10.   }
  11.  
  12.   #marquee div:first-of-type {
  13.     width: 80%;
  14.   }
  15. }

CSS3 超酷 3D 文字跑马灯特效

已有 580 人购买
  • 399u
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!