HTML笔记 ·

显示3D文字且左右摆动效果

图片的进出特效前面介绍过不少,但是没有介绍过文字的特效,今天我来给大家介绍一种特效。相信大家在大街上都看到过店铺的招牌,有的招牌的文字为3D效果,并且后面还能看到阴影效果。我今天来介绍的特效就是这个样子,它的文字为3D效果,并且有投影和左右晃动效果。闲话少说,直接来上代码。

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>落帆亭实现3D文字特效DEMO演示</title>
    <style>
body {
  background-color: #444;
}
div {
  width: 600px;
  height: 100px;
  margin: 100px auto;
  perspective: 1000px;
  perspective-origin: 50% -200px;
}
h1 {
  text-align: center;
  text-transform: uppercase;
  font-size: 3em;
  letter-spacing: 0.1em;
  color: #EEE;
  animation: rotate 2s ease-in-out alternate infinite;/*2s为设置摆动速度,即两秒轮回*/
}
h1:before {
  content: attr(data-shadow);
  color: transparent;
  text-shadow: 0 0 15px #111;
  position: absolute;
  z-index: -1;
  margin: -0.1em 0 0 0;
  animation: skew 2s ease-in-out alternate infinite;/*2s为设置摆动速度,即两秒轮回*/
  transform-origin: bottom;
}
/*设置摆动*/
@keyframes rotate {
  from {
    transform: rotateY(-10deg);
    text-shadow:  1px -1px #CCC,
                  2px -1px #BBB,
                  3px -2px #AAA,
                  4px -2px #999,
                  5px -3px #888,
                  6px -3px #777;
  }
  to {
    transform: rotateY(10deg);
    text-shadow:  -1px -1px #CCC,
                  -2px -1px #BBB,
                  -3px -2px #AAA,
                  -4px -2px #999,
                  -5px -3px #888,
                  -6px -3px #777;
  }
}
/*阴影*/
@keyframes skew {
  from {
    transform: scaleY(0.3) skewX(-15deg);
  }
  to {
    transform: scaleY(0.3) skewX(-20deg);
  }
}
</style>
<script src="js/prefixfree.min.js"></script>
</head>
<body>
<div style="text-align:center;clear:both;margin:20px auto">
</div>
  <div>
  <h1 data-shadow="落帆亭"><!--设置阴影文字-->
   落帆亭<!--设置3d显示文字-->
  </h1>
</div>
</body>

</html>

里面的关键部分都有注释,不懂的朋友可以留言,有好建议的朋友欢迎前来多多指教。

参与评论