html5——3D案例(立体汉字,旋转导航)
1、立体汉字:旋转点left,attr(data-cont)可获取自定义属性值,skewY(倾斜转换)参考地址
2、旋转导航:先移动后旋转,li标签需要延迟执行旋转
注意::hover事件触发自己的:afert伪元素事件中间是没有空格的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
padding: 0;
margin: 0;
} body {
text-align: center;
background-color: #EBE6E6;
} /*汉字*/
.characters {
margin-top: 150px;
} .characters > span {
display: inline-block;
width: 80px;
height: 80px;
font: 500 60px/80px "Microsoft YaHei";
text-align: center;
position: relative;
transform-style: preserve-3d;
} .characters > span::before, .characters > span::after {
content: attr(data-cont);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
color: white;
transform-origin: left;
transform: scale(0.96, 1);
transition: all 1s;
} .characters > span::before {
color: #ccc;
} .characters:hover span::after {
transform: rotateY(-35deg);
} .characters:hover span::before {
/*倾斜*/
transform: rotateY(-15deg) skewY(15deg);
} /*导航*/
.nav {
width: 420px;
height: 30px;
margin: 50px auto;
transform-origin: bottom;
} ul {
list-style: none;
} li {
float: left;
transform-style: preserve-3d;
position: relative;
width: 60px;
height: 30px;
transform: rotateX(0deg);
transition: all 0.8s;
} li > span {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
text-align: center;
font: 400 15px/30px "Microsoft YaHei";
} li > span:nth-child(1) {
background-color: green;
transform: translateZ(15px);
} li > span:nth-child(2) {
background-color: yellow;
transform: translateY(-15px) rotateX(90deg);
} .nav:hover li {
transform: rotateX(-90deg);
} li:nth-child(2) {
transition-delay: 0.1s;
} li:nth-child(3) {
transition-delay: 0.2s;
} li:nth-child(4) {
transition-delay: 0.3s;
} li:nth-child(5) {
transition-delay: 0.4s;
} li:nth-child(6) {
transition-delay: 0.6s;
} li:nth-child(7) {
transition-delay: 0.8s;
} </style>
</head>
<body>
<div class="characters">
<span data-cont="安">安</span>
<span data-cont="徽">徽</span>
<span data-cont="省">省</span>
<span data-cont="图">图</span>
<span data-cont="书">书</span>
<span data-cont="馆">馆</span>
</div>
<div class="nav">
<ul>
<li>
<span>第一</span>
<span>第二</span>
</li>
<li>
<span>第一</span>
<span>第二</span>
</li>
<li>
<span>第一</span>
<span>第二</span>
</li>
<li>
<span>第一</span>
<span>第二</span>
</li>
<li>
<span>第一</span>
<span>第二</span>
</li>
<li>
<span>第一</span>
<span>第二</span>
</li>
<li>
<span>第一</span>
<span>第二</span>
</li>
</ul>
</div>
</body>
</html>
html5——3D案例(立体汉字,旋转导航)的更多相关文章
- html5——3D案例(立体导航)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- html5——3D案例(立方体)
立方体:父盒子规定了3d呈现属性,立方体做旋转运动 移动顺序:1.每个盒子都先移动100px,然后再做相应的旋转 2.只有这样立方体的几何中心点与父盒子的几何中心点是一样的 <!DOCTYPE ...
- html5——3D案例(音乐盒子、百度钱包)
1.音乐盒子:触碰盒子,盖子会打开 2.百度钱包:触碰钱包,钱包,会180度旋转 <!DOCTYPE html> <html lang="en"> < ...
- 9个超绚丽的HTML5 3D图片动画特效
在Web 1.0时代,我们的网页中图片数量非常少,而且都是以静态图片为主.HTML5的出现,推动了Web 2.0的发展,同时也催生出了很多绚丽的HTML5图片动画特效,特别是有些还有3D的动画效果.本 ...
- 8款效果惊艳的HTML5 3D动画
1.HTML5 WebGL水面水波荡漾特效 之前已经向各位分享过一款很逼真的HTML5水波荡漾特效,效果还算不错.今天再向大家分享一款更加给力的HTML5水波动画,画面上是一个大水池,水池底部是一颗大 ...
- 超给力的HTML5 3D动画欣赏及源码下载
HTML5有着非常巨大的魅力,尤其是CSS3和Cavnas,可以帮助页面渲染得非常炫酷.值得一提的是,利用HTML5的3D特性可以帮助你更加方便地在网页上实现3D动画特效.本文分享的这些HTML5 3 ...
- CSS3特效----制作3D旋转导航
大致思路:首先给 three-d-box 设置一个 transition是不可少的 然后每个 a 标签里面有两个 span 一个叫 font 一个叫 back,默认状态下 font 旋转0度,也就是没 ...
- 强大!HTML5 3D美女图片旋转实现教程
又到周末,来弄点HTML5的特效玩玩,今天要折腾的是HTML5 3D图片特效,图片在垂直方向上被分割成一条条小矩形,在图片上拖动鼠标即可让每一个小矩形旋转,从而让图片形成3D立体的效果,来看看效果图: ...
- CSS3制作旋转导航
慕课网学习CSS3时,遇到个习题,觉得有必要总结学习下:CSS3制作旋转导航 慕课网习题地址:http://www.imooc.com/code/1883 示例及源码地址:http://codepen ...
随机推荐
- 仪仗队(codevs 2296)
题目描述 Description 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来 ...
- java虚拟机(二)--垃圾收集器与内存分配策略
1.判断对象是否存活的算法: 1.1.引用计数算法:给对象添加一个引用计数器,每当有一个地方引用他时,计数器+1,当引用失效时,计数器-1,任何时刻计数器为0的对象就是不可能再被引用的,但是他很难解决 ...
- ZOJ——3609 Modular Inverse
Modular Inverse Time Limit: 2 Seconds Memory Limit: 65536 KB The modular modular multiplicative ...
- Java数据库连接池研究
一.背景 连接池简介: 连接池初始化时创建一定数量的连接,然后从连接池中重用连接,而不是每次创建一个新的. 数据库连接是一种关键的.有限的.昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对 ...
- hdu 1247 Hat’s Words(从给的单词中找hat's word 并按字典序输出)
1.在使用mp[key]的时候它会去找键值为key的项,假设没有,他会自己主动加入一个key的项,再把value赋值为对应的初始值(value是int的话赋值为0,string的话赋值为空).所以假设 ...
- tableView优化
※ tableView优化 概括说:1.使用不透明视图.2.不要重复创建不必要的table cell.3.减少视图的数目.4.不要做多余的绘制工作.5.预渲染图像.6.不要阻塞主线程. 详细说:1.使 ...
- 设计模式之五:工厂方法模式(Factory Method)
工厂方法模式:定义了一个创建对象的接口,由子类来决定详细实例化那个对象.工厂方法模式让类的实例化转移到子类中来推断. Define an interface for creating an objec ...
- LeetCode 237. Delete Node in a Linked List (在链表中删除一个点)
Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...
- mac 下安装Anaconda Python
# 将anaconda的bin目录加入PATH echo 'export PATH="/Users/work/anaconda/bin/:$PATH"' >> ~/.b ...
- java学习笔记:文件名区分大小写
我按照网上的教程,写了JAVA第一个程序:Hello World!,出了两个问题,都栽在 大小写 上. public class Hello { public static void main(Str ...