使用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实现8组超炫酷鼠标滑过图片动画
Mar 16 HTML / CSS
CSS3 Notes: -webkit-box-reflect实现倒影的实例
Dec 08 HTML / CSS
Css3新特性应用之形状总结
Dec 08 HTML / CSS
css3如何绘制一个圆圆的loading转圈动画
Jan 09 HTML / CSS
使用CSS变量实现炫酷惊人的悬浮效果
Apr 26 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
Mar 01 HTML / CSS
HTML5在IE10、火狐下中文乱码问题的解决方法
Nov 18 HTML / CSS
用html5的canvas和JavaScript创建一个绘图程序的简单实例
Jul 06 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
Dec 14 HTML / CSS
HTML5 客户端数据库简易使用:IndexedDB
Dec 19 HTML / CSS
uniapp+Html5端实现PC端适配
Jul 15 HTML / CSS
从QQtabBar看css命名规范BEM的详细介绍
Aug 07 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
php操作redis缓存方法分享
2015/06/03 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
分享别人写的一个小型js框架
2007/08/13 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
2019/09/25 Javascript
vue简单封装axios插件和接口的统一管理操作示例
2020/02/02 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
使用Python编写Linux系统守护进程实例
2015/02/03 Python
python回调函数用法实例分析
2015/05/09 Python
快速查询Python文档方法分享
2017/12/27 Python
django请求返回不同的类型图片json,xml,html的实例
2018/05/22 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
值得收藏的10道python 面试题
2019/04/15 Python
Python判断三段线能否构成三角形的代码
2020/04/12 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
经典C++面试题一
2016/11/06 面试题
产品开发计划书
2014/04/27 职场文书
毕业生应聘求职信
2014/07/10 职场文书
社区助残日活动总结
2014/08/29 职场文书
活动总结模板大全
2015/05/11 职场文书
2019大学生实习报告
2019/06/21 职场文书
Python制作春联的示例代码
2022/01/22 Python
MySQL批量更新不同表中的数据
2022/05/11 MySQL
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers