使用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 相关文章推荐
CSS中简写属性要注意TRouBLe的顺序问题(避免踩坑)
Mar 09 HTML / CSS
支持IE8的纯css3开发的响应式设计动画菜单教程
Nov 05 HTML / CSS
利用CSS3实现文字折纸效果实例代码
Jul 10 HTML / CSS
CSS3实现王者荣耀匹配人员加载页面的方法
Apr 16 HTML / CSS
html5新增的定时器requestAnimationFrame实现进度条功能
Dec 13 HTML / CSS
html5的画布canvas——画出简单的矩形、三角形实例代码
Jun 09 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
Jul 02 HTML / CSS
HTML5 新标签全部总汇(推荐)
Jun 13 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
Dec 28 HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 HTML / CSS
Html5调用企业微信的实现
Apr 16 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 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生成图形验证码几种方法小结
2013/08/15 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
ThinkPHP中使用ajax接收json数据的方法
2014/12/18 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
JQuery页面图片切换和新闻列表滚动效果的具体实现
2013/09/26 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
Python socket模块实现的udp通信功能示例
2019/04/10 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
python ftplib模块使用代码实例
2019/12/31 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
python操作链表的示例代码
2020/09/27 Python
成人毕业生自我鉴定
2013/10/18 职场文书
通信工程毕业生求职信
2013/11/16 职场文书
新员工欢迎词
2014/01/12 职场文书
探矿工程师自荐信
2014/01/24 职场文书
期末评语大全
2014/05/04 职场文书
师德师风剖析材料
2014/09/30 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
初中数学教学反思范文
2016/02/17 职场文书
煤矿施工安全协议书
2016/03/22 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
导游词之峨眉山
2019/12/16 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android