使用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样式中的 !important * _ 符号
Mar 09 HTML / CSS
如何利用CSS3制作3D效果文字具体实现样式
May 02 HTML / CSS
CSS3 Flexbox中flex-shrink属性的用法示例介绍
Dec 30 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
Feb 29 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
Nov 16 HTML / CSS
HTML5移动开发图片压缩上传功能
Nov 09 HTML / CSS
使用HTML5 IndexDB存储图像和文件的示例
Nov 05 HTML / CSS
基于 HTML5 Canvas实现 的交互式地铁线路图
Mar 05 HTML / CSS
HTML5 Canvas标签使用收录
Jul 07 HTML / CSS
使用分层画布来优化HTML5渲染的教程
May 08 HTML / CSS
使用postMessage让 iframe自适应高度的方法示例
Oct 08 HTML / CSS
HTML5 FileReader对象的具体使用方法
May 22 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实现验证码功能
2006/10/09 PHP
深入理解PHP中的empty和isset函数
2016/05/26 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
浏览器复制插件zeroclipboard使用指南
2016/03/26 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
如何更好的编写js async函数
2018/05/13 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
十个Python程序员易犯的错误
2015/12/15 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
基于Python socket的端口扫描程序实例代码
2018/02/09 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
学校消防安全制度
2014/01/30 职场文书
《乞巧》教学反思
2014/02/27 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
拾金不昧表扬信
2015/01/16 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
2016暑期师德培训心得体会
2016/01/09 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书
干货:我将这样书写我的演讲稿!
2019/05/09 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书
Pandas-DataFrame知识点汇总
2022/03/16 Python
R9700摩机记
2022/04/05 无线电