• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 404号房间 | 发布时间: 2025-6-16 12:22| 查看数: 112| 评论数: 0|帖子模式

    3D是three-dimensional的缩写,就是三维图形。在计算机里显示3D图形,就是说在平面里显示三维图形。不像现实世界里,真实的三维空间,有真实的距离空间。计算机里只是看起来很像真实世界,因此在计算机显示的3D图形,就是让人眼看上就像真的一样。人眼有一个特性就是近大远小,就会形成立体感。
    计算机屏幕是平面二维的,我们之所以能欣赏到真如实物般的三维图像,是因为显示在计算机屏幕上时色彩灰度的不同而使人眼产生视觉上的错觉,而将二维的计算机屏幕感知为三维图像。基于色彩学的有关知识,三维物体边缘的凸出部分一般显高亮度色,而凹下去的部分由于受光线的遮挡而显暗色。这一认识被广泛应用于网页或其他应用中对按钮、3D线条的绘制。比如要绘制的3D文字,即在原始位置显示高亮度颜色,而在左下或右上等位置用低亮度颜色勾勒出其轮廓,这样在视觉上便会产生3D文字的效果。具体实现时,可用完全一样的字体在不同的位置分别绘制两个不同颜色的2D文字,只要使两个文字的坐标合适,就完全可以在视觉上产生出不同效果的3D文字。
    案例
    3D导航栏
    效果:
    1. <style>
    2.    * {
    3.      margin: 0;
    4.      padding: 0;
    5.    }
    6.    ul {
    7.      margin: 100px ;
    8.    }
    9.    ul li {
    10.      width: 120px;
    11.      height: 35px;
    12.      list-style: none;
    13.      perspective: 500px;
    14.      float: left;
    15.      margin: 0 5px;
    16.    }
    17.    .box {
    18.      width: 100%;
    19.      height: 100%;
    20.      position: relative;
    21.      transform-style: preserve-3d;
    22.      transition: all .3s;
    23.    }
    24.    .box:hover{
    25.      transform: rotateX(90deg);
    26.    }
    27.    .front,
    28.    .bottom {
    29.      width: 100%;
    30.      height: 100%;
    31.      position: absolute;
    32.      top: 0;
    33.      left: 0;
    34.      display: flex;
    35.      justify-content: center;
    36.      align-items: center;
    37.    }
    38.    .front{
    39.      background-color: pink;
    40.      transform: translateZ(17.5px);
    41.    }
    42.    .bottom{
    43.      background-color: teal;
    44.      /* transform-origin: center bottom; */
    45.      transform:translateY(17.5px) rotateX(-90deg);
    46.    }
    47. </style>
    48. <body>
    49.   <ul>
    50.     <li>
    51.       <div class="box">
    52.         <div class="front">天</div>
    53.         <div class="bottom">地</div>
    54.       </div>
    55.     </li>
    56.     <li>
    57.       <div class="box">
    58.         <div class="front">天</div>
    59.         <div class="bottom">地</div>
    60.       </div>
    61.     </li>
    62. ...
    63.   </ul>
    64. </body>
    复制代码

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


    来源:https://www.jb51.net/html5/769821.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×

    最新评论

    浏览过的版块

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表