借助transform:rotate实现上图的3D导航效果

具体代码如下

 1     <div class="nav">
2 <ul>
3 <li>
4 <a href="#">首页</a>
5 <a href="#">index</a>
6 </li>
7 <li><a href="#">新闻</a>
8 <a href="#">news</a>
9 </li>
10 <li><a href="#">产品</a>
11 <a href="#">product</a>
12 </li>
13 <li><a href="#">关于</a>
14 <a href="#">about</a>
15 </li>
16 </ul>
17 </div>
 1 <style>
2 .nav {
3 margin: 200px auto;
4 width: 600px;
5
6 }
7
8 ul {
9 list-style: none;
10 }
11
12 .nav li {
13 float: left;
14 position: relative;
15 width: 100px;
16 height: 50px;
17 line-height: 50px;
18 /* 需要在父元素设置transform-style:preserve-3d 以实现子元素的3d效果 */
19 transform-style: preserve-3d;
20
21 transition: all .5s;
22 }
23
24 .nav li a {
25 position: absolute;
26 top: 0;
27 left: 0;
28 width: 100%;
29 height: 100%;
30 text-align: center;
31 text-decoration: none;
32 color: #fff;
33 }
34
35 .nav li a:first-child {
36 transform: translateZ(25px);
37 background-color: green;
38 }
39
40 .nav li a:last-child {
41 /* 此时橙色盒子躺平之后,需要俯视才能看到橙色盒子,看它的方向始终是Z轴方向,所以这里要向Z轴移动,相当于旋转的时候它的三个轴也会跟着旋转 */
42 transform: rotateX(90deg) translateZ(25px);
43 background-color: orange;
44 }
45
46 .nav li:hover {
47 transform: rotateX(-90deg);
48 }
49 </style>

rotate旋转的时候遵循左手法则:轻握左手,大拇指指向旋转轴正方向,四指指向的方向就是旋转方向。屏幕到眼睛方向为rotate的Z轴正方向,水平为X,垂直是Y,如下图所示

CSS3-3D导航(transform:rotate)的更多相关文章

  1. css3 3d展示中rotate()介绍与简单实现

    最近在了解css3的3d动画效果,学习发现,css3中的3d效果实现还是很好玩的,现在我给你大家简单的介绍一下css3中3d效果的实现. 我也只是一个初学者,如果在博客中写的不对的地方欢迎指正. 好了 ...

  2. [应用][js+css3]3D盒子导航[PC端]

    CSS3构建的3D盒子之导航应用 1.在用css3构建的盒子表面,放上iframe,来加载导航页面. 2.鼠标左键按下移动可旋转盒子,寻找想要的网址. 3.左键单机盒子表面,将全屏现实所点盒子表面的网 ...

  3. CSS3 transform rotate(旋转)锯齿的解决办法

    -moz-transform: rotate(5deg);-webkit-transform: rotate(5deg); 把图片旋转了5度.本以为轻而易举,可遇到了问题.在Fireofx中显示正常, ...

  4. 好吧,CSS3 3D transform变换,不过如此!

    一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...

  5. CSS3 3D Transform

    CSS3 3D Transform 原文:http://www.w3cplus.com/css3/css3-3d-transform.html 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换, ...

  6. 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转

    基于css3新属性transform,实现3d立方体的旋转 通过原生JS,点击事件,鼠标按下.鼠标抬起和鼠标移动事件,实现3d立方体的拖动旋转,并将旋转角度实时的反应至界面上显示 实现原理:通过获取鼠 ...

  7. 好吧,CSS3 3D transform变换,不过如此!——张鑫旭

    一.写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容.看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了 ...

  8. CSS3 transform rotate(旋转)锯齿/元素抖动模糊的解决办法

    使用CSS3 3D transforms,通过GPU来渲染,能有效的起到抗锯齿效果.只要在CSS3 transform属性中加入translateZ(0).例:-webkit-transform: r ...

  9. css3中做3D导航栏

    看别人做的一个3D导航栏,觉得很厉害,这里先保存下来,后面有时间好好分析一下: <!doctype html> <html lang="en"> <h ...

  10. HTML5之CSS3 3D transform 剖析式学习之一

    最近坐地铁发现“亚洲动物基金”在地铁上做了很多公益广告,比较吸引人的是一个月熊的广告.做的很可爱.回去就搜了一下,发现这个网站是HTML5做的,非常炫. 所以想学习一下,方法就是传统的学习办法,模仿. ...

随机推荐

  1. Vue-cli JSX踩坑问题!

    今天封装一个公用组件库,期间使用到了JSX,发现在Data配置中去配置渲染函数出现了 h function is not defined的问题?? 网上查询一大堆所谓安装JSX的东西,其实Vue-cl ...

  2. 微积分 II 笔记

    5.1 定积分的概念 定义 定积分是积分的一种,是函数 \(f(x)\) 在区间 \([a,b]\) 上积分和的极限 若 \(f(x)\) 在 \([a, b]\) 有界,在 \([a, b]\) 上 ...

  3. lowcodeEngine设计器源码简析(创建流程,主要对象), 怎么生成一个左侧面板

    lowcodeEngine 怎么生成一个左侧面板 初始化流程 如何生成一个左侧面板 初始化插件时往skeleton.leftArea新增按钮,新增按钮时往skeleton.leftFloatArea新 ...

  4. C++ Gui Qt4 第二章

    这一章需要使用在控制台使用qmake 使用qmake的时候要先配置qmake的环境变量 找到qmake所在的目录,添加环境变量即可 在使用的时候要先跳转到源文件所在的目录 课本中说qmake可以自动检 ...

  5. Ubuntu20.04 LTS更新源

    Ubuntu 20.04 LTS Focal Fossa于2020年04月23日发布. 备份sudo cp /etc/apt/sources.list /etc/apt/sources.list.ba ...

  6. vue3介绍-vue3创建项目-setup函数-ref和reactive-计算属性和监听-生命周期-toRefs-script setup的作用和lang=ts-vue后台管理模板

    目录 vue3介绍-vue3创建项目-setup函数-ref和reactive-计算属性和监听-生命周期-toRefs-script setup的作用和lang=ts-vue后台管理模板 昨日内容回顾 ...

  7. 22_webpack_优化

    Terser是一个JS的解析(Parser).Mangleer(绞肉机).Compresor(压缩机)的工具 绞肉机如:一个函数 function functionsWithLongNames(){ ...

  8. selenium grid4.0+分布式的部署配置(hub/node方式)

    一.grid安装 本文已jar包的方式讲解,访问并下载jar包:Releases · SeleniumHQ/selenium · GitHub 二.grid配置 假设主机:10.1.5.219,从机: ...

  9. ElasticSearch入门学习笔记

    ElasticSearch入门笔记 分页查询 from: 开始位置 size: 查多少条 GET /credit_enterprise_info/_search { "query" ...

  10. springcloud(六) - 配置中心

    功能介绍 设置和业务代码获取配置 功能实现 <!-- 添加configjar --> <dependency> <groupId>org.springframewo ...