之前在网上看到一款比较有新意的HTML5文字特效,文字效果是当鼠标滑过是出现翻开折叠的效果,类似书本翻页。于是我兴致勃勃的点开源码看了一下,发现其实实现也挺简单的,主要利用了CSS3的transform属性,分别对X轴、Y轴、Z轴进行翻转,先看一下效果截图。

看效果图这些文字是不是很有立体的感觉,而这个立体的感觉并不是有投影和阴影来实现的,而是通过翻转。       

DEMO演示效果

接下来我们来看一下源码。首先是HTML代码,非常简单,列出我们需要渲染的文字:

  1. <div class="foo">
  2. <span class="letter" data-letter="A">A</span>
  3. <span class="letter" data-letter="B">B</span>
  4. <span class="letter" data-letter="C">C</span>
  5. <span class="letter" data-letter="D">D</span>
  6. <span class="letter" data-letter="E">E</span>
  7. <span class="letter" data-letter="F">F</span>
  8. <span class="letter" data-letter="G">G</span>
  9. <span class="letter" data-letter="H">H</span>
  10. <span class="letter" data-letter="I">I</span>
  11. <span class="letter" data-letter="L">L</span>
  12. <span class="letter" data-letter="M">M</span>
  13. <span class="letter" data-letter="N">N</span>
  14. <span class="letter" data-letter="O">O</span>
  15. <span class="letter" data-letter="P">P</span>
  16. <span class="letter" data-letter="Q">Q</span>
  17. <span class="letter" data-letter="R">R</span>
  18. <span class="letter" data-letter="S">S</span>
  19. <span class="letter" data-letter="T">T</span>
  20. <span class="letter" data-letter="U">U</span>
  21. <span class="letter" data-letter="V">V</span>
  22. <span class="letter" data-letter="Z">Z</span>
  23. </div>

复制代码

接下来是核心CSS3代码,这里我们略去了控制页面样式的CSS代码,把实现翻页效果文字的CSS代码提取出来。

  1. .letter{
  2. display: inline-block;
  3. font-weight: 900;
  4. font-size: 8em;
  5. margin: 0.2em;
  6. position: relative;
  7. color: #00B4F1;
  8. transform-style: preserve-3d;
  9. perspective: 400;
  10. z-index: 1;
  11. }

复制代码

这样我们就让这些字母安安静静的排列起来,并有了自己的背景颜色,等待强大的CSS3来渲染。

接下来我们要让文字在鼠标滑过的时候产生翻转倾斜的动画。

  1. .letter:before, .letter:after{
  2. position:absolute;
  3. content: attr(data-letter);
  4. transform-origin: top left;
  5. top:0;
  6. left:0;
  7. }
  8. .letter, .letter:before, .letter:after{
  9. transition: all 0.3s ease-in-out;
  10. }
  11. .letter:before{
  12. color: #fff;
  13. text-shadow:
  14. -1px 0px 1px rgba(255,255,255,.8),
  15. 1px 0px 1px rgba(0,0,0,.8);
  16. z-index: 3;
  17. transform:
  18. rotateX(0deg)
  19. rotateY(-15deg)
  20. rotateZ(0deg);
  21. }
  22. .letter:after{
  23. color: rgba(0,0,0,.11);
  24. z-index:2;
  25. transform:
  26. scale(1.08,1)
  27. rotateX(0deg)
  28. rotateY(0deg)
  29. rotateZ(0deg)
  30. skew(0deg,1deg);
  31. }
  32. .letter:hover:before{
  33. color: #fafafa;
  34. transform:
  35. rotateX(0deg)
  36. rotateY(-40deg)
  37. rotateZ(0deg);
  38. }
  39. .letter:hover:after{
  40. transform:
  41. scale(1.08,1)
  42. rotateX(0deg)
  43. rotateY(40deg)
  44. rotateZ(0deg)
  45. skew(0deg,22deg);
  46. }
  47. 复制代码

复制代码

这里我们利用了CSS3的伪类before和after来快速构造两个相同的字母,然后利用transform属性的rotateX,rotateY,rotateZ来翻转,再利用skew来时文字倾斜。

简单做出HTML5翻页效果文字特效的更多相关文章

  1. HTML5 book响应式翻页效果

    翻页,HTML5源码下载,HTML5响应式翻页效果,鼠标移到右上角会看到翻页效果,需要鼠标拖动后翻页,支持ie9+,html5浏览器. 单页和双页. 自动播放和暂停. 点击左右翻页. 鼠标点击左右页面 ...

  2. HTML5开发的翻页效果实例

    简介2010年F-i.com和Google Chrome团队合力致力于主题为<20 Things I Learned about Browsers and the Web>(www.20t ...

  3. webapp应用--模拟电子书翻页效果

    前言: 现在移动互联网发展火热,手机上网的用户越来越多,甚至大有超过pc访问的趋势.所以,用web程序做出仿原生效果的移动应用,也变得越来越流行了.这种程序也就是我们常说的单页应用程序,它也有一个英文 ...

  4. 纯css3写的仿真图书翻页效果

    对css3研究越深入,越觉得惊艳.css3说不上是万能的,但是它能实现的效果也超出了我的想象.它的高效率和动画效果的流畅性很多情况下能替代js的作用.个人习惯css3能实现的效果就不会用js,虽然在国 ...

  5. Android 实现书籍翻页效果----升级篇

    自从之前发布了<Android 实现书籍翻页效果----完结篇 >之后,收到了很多朋友给我留言,前段时间由于事情较多,博客写得太匆忙很多细节地方没有描述清楚.所以不少人对其中的地方有不少不 ...

  6. Android 滑动效果高级篇(七)—— 华丽翻页效果

    By 何明桂(http://blog.csdn.net/hmg25) 转载请注明出处 之前看到像ipad上的ibook的模拟书籍翻页的特效感觉很炫,在android上也有像laputa和ireader ...

  7. transform3D实现翻页效果

    ---恢复内容开始--- 闲篇 最近升级了下百度音乐,唯一的感觉就是动画效果很炫丽.我不是个对产品很敏感的人,但是这段时间观察一些大厂的产品发现现在的APP越来越重视动画效果了.大家可能没有注意过,连 ...

  8. CSS3-----图片翻页效果的展示

    在开发一个网站的过程中各种翻页效果数不胜数,在这里我将介绍一下简单的一种方法就是使用css3的旋转即可实现这种常见的效果: 显示效果如下: 首先是页面的布局,不用那么复杂; a标签的href属性,一般 ...

  9. 利用GPU实现翻页效果

    0x00 前言 有一段时间没有更新博客了,在考虑写点什么的时候正好赶上了这个月我的书<Unity 3D脚本编程>又加印了.因此写篇小文聊聊利用shader来实现翻书的效果吧. 虽然本文是这 ...

随机推荐

  1. 未能从程序集“Oracle.ManagedDataAccess”加载 “OracleInternal.Common.ConfigBaseClass”

    使用VS2015做项目的过程中一直使用的服务器上的oracle数据库,后来想学习一下oracle,就在本机安装了oracle.可没想到本来运行好好的项目,现在不能运行了.项目是使用的Abp框架,当运行 ...

  2. eclipse / ADT(Android Develop Tool) 一些方便的初始设置

      1.设置编辑窗口的背景色eclipse的主编辑窗口的背景色,默认为白色,个人感觉太亮,推荐保护视力的“墨绿色”,当然也可以根据个人喜好更改,如下图 2.主编辑窗口的字体字号等,也可以根据自己的爱好 ...

  3. docker与虚拟化的联系与区别

    虚拟化技术是一个总称,是一系列实现虚拟技术的统称.从广义上来说,虚拟化技术包括了虚拟机技术和容器技术, 所谓虚拟化技术最大的特点就是将一个真实的机器进行虚拟地分割,然后分割出来的部分可以独立使用   ...

  4. Linux系统字符集乱码问题

    假设你在安装Linux的过程中就选择了中文.可能能够省去步骤1.2.反之.假设你先安装了英文环境,而后希望它支持中文,则能够1.2步 1.首先在linux中安装中文包安装中文简体包rpm -ivh k ...

  5. Pentaho 免费版本下载地址列表

    Pentaho CE(Community Edition) 免费版本下载地址列表 http://sourceforge.net/projects/pentaho/files/Pentaho 插件名称  ...

  6. 交换两个变量的值不使用第三个变量(Java)

    关于这个问题网上有好多答案,最近有人说这是个奇葩问题 个人测试了一把,如果是普通的数字的话,基本上没有问题 public static void main(String[] args) { int a ...

  7. ubuntu 16.04查询文件安装目录

    dpkg -L filename dpkg -l | grep filename whereis filename find / -name filename

  8. python入门课程 第一章 课程介绍

    1-1 Python入门课程介绍特点:    优雅.明确.简单适合领域:    web网站和各种网络服务    系统工具和脚本    作为"胶水"语言把其他语言开发的模块包装起来方 ...

  9. markdown流程图语法

    从网上找了非常久关于markdown语法的文章.机会微乎其微.大多所指向的都是同一个页面https://github.com/adrai/flowchart.js 这是github上的一个开源项目,里 ...

  10. 【BZOJ1000】A+B Problem ★BZOJ1000题达成★

    [BZOJ1000]A+B Problem Description 输入两个数字,输出它们之和 Input 一行两个数字A,B(0<=A,B<100) Output 输出这两个数字之和 S ...