• 首页<…">
    前端开发社区前端开发社区
    • 首页
    • VUE.js
    • React.js
    • HTML
    • CSS
    • JavaScript
    • PHP
    • jquery
    前端开发社区
    当前位置:首页 > CSS

    css3制作3d导航条

    2026-01-08 20:47:51CSS

    使用CSS3制作3D导航条

    基础HTML结构

    <nav class="nav-3d">
      <ul>
        <li><a href="#">首页</a></li>
        <li><a href="#">产品</a></li>
        <li><a href="#">服务</a></li>
        <li><a href="#">关于</a></li>
        <li><a href="#">联系</a></li>
      </ul>
    </nav>

    CSS3样式设计

    .nav-3d {
      perspective: 1000px; /* 启用3D透视 */
      margin: 50px auto;
      width: 80%;
    }
    
    .nav-3d ul {
      display: flex;
      justify-content: space-around;
      list-style: none;
      padding: 0;
      transform-style: preserve-3d; /* 保持子元素3D效果 */
    }
    
    .nav-3d li {
      position: relative;
      width: 120px;
      height: 40px;
      transform-style: preserve-3d;
      transition: transform 0.5s ease;
    }
    
    .nav-3d a {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      color: white;
      background: #3498db;
      text-decoration: none;
      position: absolute;
      backface-visibility: hidden; /* 隐藏背面 */
      transform-origin: 50% 50%;
    }
    
    .nav-3d a::before {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: #2980b9;
      transform: rotateX(90deg) translateZ(20px);
      transform-origin: bottom center;
    }
    
    .nav-3d a::after {
      content: '';
      position: absolute;
      width: 100%;
      height: 100%;
      background: #1a5276;
      transform: rotateY(90deg) translateZ(20px);
      transform-origin: right center;
    }
    
    .nav-3d li:hover {
      transform: rotateX(-15deg) rotateY(15deg);
    }

    添加悬停动画效果

    .nav-3d li:hover a {
      transform: translateZ(20px);
      box-shadow: 0 10px 20px rgba(0,0,0,0.3);
    }
    
    .nav-3d li:hover a::before {
      transform: rotateX(90deg) translateZ(40px);
    }
    
    .nav-3d li:hover a::after {
      transform: rotateY(90deg) translateZ(40px);
    }

    实现3D旋转效果

    .nav-3d li {
      animation: float 6s ease-in-out infinite;
    }
    
    @keyframes float {
      0%, 100% {
        transform: rotateX(-5deg) rotateY(5deg);
      }
      50% {
        transform: rotateX(5deg) rotateY(-5deg);
      }
    }

    响应式调整

    @media (max-width: 768px) {
      .nav-3d ul {
        flex-direction: column;
        align-items: center;
      }
    
      .nav-3d li {
        margin: 10px 0;
      }
    }

    技术要点说明

    • perspective属性创建3D空间,数值越小透视效果越强
    • transform-style: preserve-3d确保子元素保持3D变换
    • backface-visibility控制元素背面的可见性
    • 使用伪元素(::before/::after)创建3D盒子的侧面
    • 通过translateZ控制元素在Z轴上的位置
    • 结合hover状态和过渡效果实现交互反馈

    扩展建议

    • 添加active状态样式增强用户体验
    • 使用CSS变量统一管理颜色和尺寸
    • 结合JavaScript实现更复杂的交互效果
    • 考虑添加纹理或渐变提升视觉效果
    • 测试不同浏览器的兼容性并添加必要的前缀

    css3制作3d导航条

    css3制作3d导航条

    标签: 导航条
    分享给朋友:

    相关文章

    css导航条制作

    css导航条制作

    基础导航条制作 使用HTML的无序列表<ul>和CSS的display: flex属性可以快速创建横向导航条。HTML结构通常包含导航链接列表,CSS负责样式和布局。 <nav&…

    css制作下拉导航条

    css制作下拉导航条

    使用纯CSS制作下拉导航条 HTML结构部分需要包含导航主菜单和子菜单项,通常使用嵌套的无序列表(<ul>和<li>)实现: <nav class="dropdown…

    用css制作导航条

    用css制作导航条

    水平导航条制作 使用display: inline-block或flexbox实现水平导航 为<ul>和<li>设置样式消除默认列表样式 添加padding和margin控制间…

    css导航条在线制作

    css导航条在线制作

    CSS导航条在线制作工具 以下是几款实用的在线工具和生成器,可快速创建CSS导航条,无需手动编写代码: CSS Menu Maker 提供多种预设模板,支持水平、垂直导航条,可自定义颜色、字体和悬停…

    网站分类
    • VUE
    • React
    • HTML
    • CSS
    • PHP
    • JavaScript
    • jquery
    最新文章
    • css制作春联

      2026-01-08 21:24:06

    • css熊猫制作

      2026-01-08 21:23:07

    • css制作栅格

      2026-01-08 21:22:14

    • css loading制作

      2026-01-08 21:21:05

    • css奖状制作

      2026-01-08 21:20:12

    标签列表
    • vue (1152)
    • 原理 (23)
    • 拖拽 (18)
    • 分页 (20)
    • 跳转 (14)
    • 页面 (42)
    • 路由 (22)
    • 列表 (15)
    • 功能 (33)
    • 菜单 (25)
    • 组件 (29)
    • 表格 (38)
    • 数据 (19)
    • 图片 (22)
    • js (15)
    • 按钮 (23)
    • Vue (21)
    • 如何实现 (28)
    • 效果 (15)
    • 动画 (15)
    • 动态 (15)
    • react (26)
    • jquery (18)
    • css (180)
    • 网页制作 (25)

    陕ICP备2023000799号  网站地图

    Powered By Z-BlogPHP. Theme by TOYEAN.