使用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模拟jq点击事件的实例代码
Jul 06 HTML / CSS
CSS3中线性颜色渐变的一些实现方法
Jul 14 HTML / CSS
CSS3 flex布局之快速实现BorderLayout布局
Dec 03 HTML / CSS
css3实现元素环绕中心点布局的方法示例
Jan 15 HTML / CSS
H5 canvas中width、height和style的宽高区别详解
Nov 02 HTML / CSS
html5指南-2.如何操作document metadata
Jan 07 HTML / CSS
html5使用canvas画三角形
Dec 15 HTML / CSS
HTML5的一个显示电池状态的API简介
Jun 18 HTML / CSS
HTML最新标准HTML5总结(必看)
Jun 13 HTML / CSS
关于h5中的fetch方法解读(小结)
Nov 15 HTML / CSS
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
May 14 HTML / CSS
使用HBuilder制作一个简单的HTML5网页
Jul 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
header跳转和include包含问题详解
2012/09/08 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
PHP目录操作实例总结
2016/09/27 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
基于jQuery制作迷你背词汇工具
2010/07/27 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
js+html5生成自动排列对话框实例
2017/10/09 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
Python+matplotlib+numpy实现在不同平面的二维条形图
2018/01/02 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
Python实现Linux监控的方法
2019/05/16 Python
python实现QQ邮箱发送邮件
2020/03/06 Python
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
师生聚会感言
2014/01/26 职场文书
保护环境倡议书500字
2014/05/19 职场文书
整改落实情况汇报材料
2014/10/29 职场文书
护士2015年终工作总结
2015/04/29 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
Python多线程 Queue 模块常见用法
2021/07/04 Python