使用HTML+Css+transform实现3D导航栏的示例代码


Posted in HTML / CSS onMarch 31, 2021

3D是three-dimensional的缩写,就是三维图形。在计算机里显示3D图形,就是说在平面里显示三维图形。不像现实世界里,真实的三维空间,有真实的距离空间。计算机里只是看起来很像真实世界,因此在计算机显示的3D图形,就是让人眼看上就像真的一样。人眼有一个特性就是近大远小,就会形成立体感。

计算机屏幕是平面二维的,我们之所以能欣赏到真如实物般的三维图像,是因为显示在计算机屏幕上时色彩灰度的不同而使人眼产生视觉上的错觉,而将二维的计算机屏幕感知为三维图像。基于色彩学的有关知识,三维物体边缘的凸出部分一般显高亮度色,而凹下去的部分由于受光线的遮挡而显暗色。这一认识被广泛应用于网页或其他应用中对按钮、3D线条的绘制。比如要绘制的3D文字,即在原始位置显示高亮度颜色,而在左下或右上等位置用低亮度颜色勾勒出其轮廓,这样在视觉上便会产生3D文字的效果。具体实现时,可用完全一样的字体在不同的位置分别绘制两个不同颜色的2D文字,只要使两个文字的坐标合适,就完全可以在视觉上产生出不同效果的3D文字。

案例

3D导航栏

效果:

<style>
   * {
     margin: 0;
     padding: 0;
   }
   ul {
     margin: 100px ;
   }
   ul li {
     width: 120px;
     height: 35px;
     list-style: none;
     perspective: 500px;
     float: left;
     margin: 0 5px;
   }
   .box {
     width: 100%;
     height: 100%;
     position: relative;
     transform-style: preserve-3d;
     transition: all .3s;
   }
   .box:hover{
     transform: rotateX(90deg);
   }
   .front,
   .bottom {
     width: 100%;
     height: 100%;
     position: absolute;
     top: 0;
     left: 0;
     display: flex;
     justify-content: center;
     align-items: center;
   }
   .front{
     background-color: pink;
     transform: translateZ(17.5px);
   }
   .bottom{
     background-color: teal;
     /* transform-origin: center bottom; */
     transform:translateY(17.5px) rotateX(-90deg);
   }
 </style>
<body>
  <ul>
    <li>
      <div class="box">
        <div class="front">天</div>
        <div class="bottom">地</div>
      </div>
    </li>
    <li>
      <div class="box">
        <div class="front">天</div>
        <div class="bottom">地</div>
      </div>
    </li>
 ...
  </ul>
</body>

使用HTML+Css+transform实现3D导航栏的示例代码

到此这篇关于使用HTML+Css+transform实现3D导航栏的示例代码的文章就介绍到这了,更多相关HTML transform实现3D导航栏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
灵活运用CSS3特性绘制简易版围棋效果
Sep 28 HTML / CSS
CSS3 渐变(Gradients)之CSS3 径向渐变
Jul 08 HTML / CSS
CSS3弹性布局内容对齐(justify-content)属性使用详解
Jul 31 HTML / CSS
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
Sep 02 HTML / CSS
CSS3不透明度实例讲解
Apr 26 HTML / CSS
利用CSS3实现单选框动画特效示例代码
Sep 26 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
Dec 13 HTML / CSS
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
Apr 08 HTML / CSS
详解HTML5中的元素与元素
Aug 17 HTML / CSS
利用HTML5 Canvas制作键盘及鼠标动画的实例分享
Mar 15 HTML / CSS
html5视频常用API接口的实战示例
Mar 20 HTML / CSS
CSS 一行代码实现头像与国旗的融合
Oct 24 HTML / CSS
z-index不起作用
Mar 31 #HTML / CSS
元素水平垂直居中的方式
Mar 31 #HTML / CSS
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
简单实现一个手持弹幕功能+文字抖动特效
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
Mar 31 #HTML / CSS
Web前端:CSS最强总结 附详细代码
血轮眼轮回眼特效 html+css
You might like
漫威DC即将合作联动,而双方早已经秘密开始
2020/04/09 欧美动漫
六酷社区论坛HOME页清新格调免费版 下载
2007/03/07 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
jsonp原理及使用
2013/10/28 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
python 性能提升的几种方法
2016/07/15 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
Python实现抢购IPhone手机
2018/02/07 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
pandas.read_csv参数详解(小结)
2019/06/21 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
2020/02/26 Python
美国购物网站:Clickhere2shop
2021/01/28 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
Tomcat的缺省是多少,怎么修改
2014/04/09 面试题
高中生毕业自我鉴定
2013/10/10 职场文书
房地产管理毕业生自荐信
2013/11/04 职场文书
战友聚会邀请函
2014/01/18 职场文书
工会主席岗位责任制
2014/02/11 职场文书
高考备战决心书
2014/03/11 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
小学毕业教师寄语
2019/06/21 职场文书
mysql脏页是什么
2021/07/26 MySQL