• 前端开发社区前端开发社区
    • 首页
    • VUE.js
    • React.js
    • HTML
    • CSS
    • JavaScript
    • PHP
    • jquery
    • Java
    • MySQL
    • uniapp
    前端开发社区
    当前位置:首页 > CSS

    css3制作3d导航条

    2026-04-01 02:12:40CSS

    css3制作3d导航条

    css3制作3d导航条

    使用 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 ul {
      list-style: none;
      display: flex;
      perspective: 1000px; /* 启用 3D 空间 */
    }
    
    .nav-3d li {
      margin: 0 10px;
      transform-style: preserve-3d; /* 子元素保持 3D 变换 */
    }
    
    .nav-3d a {
      display: block;
      padding: 15px 25px;
      background: #3498db;
      color: white;
      text-decoration: none;
      border-radius: 5px;
      transform: rotateX(20deg); /* 初始倾斜角度 */
      transition: all 0.3s ease;
      box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    }
    
    .nav-3d a:hover {
      transform: rotateX(0deg) translateY(-10px); /* 悬停时抬升效果 */
      background: #2980b9;
      box-shadow: 0 15px 20px rgba(0,0,0,0.2);
    }

    添加深度效果

    .nav-3d a::before {
      content: '';
      position: absolute;
      top: 100%;
      left: 0;
      width: 100%;
      height: 10px;
      background: #1a5276;
      transform-origin: top;
      transform: rotateX(-90deg); /* 创建底面 */
      opacity: 0.7;
      border-radius: 0 0 5px 5px;
    }

    动画增强

    @keyframes float {
      0% { transform: rotateX(20deg) translateY(0); }
      50% { transform: rotateX(20deg) translateY(-5px); }
      100% { transform: rotateX(20deg) translateY(0); }
    }
    
    .nav-3d li:nth-child(odd) a {
      animation: float 3s ease-in-out infinite;
    }
    
    .nav-3d li:nth-child(even) a {
      animation: float 3s ease-in-out infinite 1.5s;
    }

    响应式调整

    @media (max-width: 768px) {
      .nav-3d ul {
        flex-direction: column;
        perspective: none;
      }
    
      .nav-3d li {
        margin: 5px 0;
      }
    
      .nav-3d a {
        transform: none;
      }
    
      .nav-3d a:hover {
        transform: translateY(-5px);
      }
    }

    关键点说明:

    • perspective 属性创建 3D 空间
    • transform-style: preserve-3d 保持嵌套元素的 3D 效果
    • 伪元素 ::before 模拟 3D 厚度
    • 动画实现浮动效果增强立体感
    • 媒体查询确保移动设备兼容性

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

    相关文章

    css制作导航条

    css制作导航条

    导航条基础结构 使用HTML构建导航条的基本结构,通常包含一个<nav>标签和多个<a>标签作为导航链接。示例代码如下: <nav class="navbar">…

    css导航条制作

    css导航条制作

    水平导航条制作 使用display: inline-block或flexbox实现水平排列 .navbar { background-color: #333; overflow: hidde…

    用css制作导航条

    用css制作导航条

    基础导航条结构 使用HTML创建导航条的基本结构,通常包含一个<nav>元素和多个<a>标签: <nav class="navbar"> <a href…

    css3制作3d导航条

    css3制作3d导航条

    使用CSS3制作3D导航条 CSS3提供了强大的3D变换和过渡效果,可以轻松实现具有立体感的导航条。以下是实现3D导航条的几种方法: 基本3D效果 通过transform属性实现基础的3D翻转效果:…

    css导航条制作

    css导航条制作

    CSS导航条制作方法 水平导航条 使用display: inline-block或flexbox实现水平导航条。设置背景色、内边距和悬停效果增强交互性。 <nav> <ul…

    用css制作导航条

    用css制作导航条

    基础导航条结构 使用HTML创建导航条的基本结构,通常包含一个<nav>标签和多个<a>标签: <nav class="navbar"> <a href…

    最新文章
    • css制作tab

      2026-04-01 04:05:07

    • css制作钟表

      2026-04-01 04:03:12

    • css字体 制作

      2026-04-01 04:01:37

    • css制作博客

      2026-04-01 03:59:57

    • css怎么制作

      2026-04-01 03:58:31

    标签列表
    • vue (13931)
    • 原理 (626)
    • 分页 (603)
    • 跳转 (582)
    • 页面 (1094)
    • 路由 (650)
    • 列表 (473)
    • 功能 (1256)
    • 文件 (456)
    • 项目 (532)
    • 菜单 (444)
    • 组件 (1026)
    • 表格 (673)
    • 数据 (497)
    • 图片 (790)
    • js (4916)
    • 如何实现 (1693)
    • 效果 (625)
    • react (3311)
    • jquery (2238)
    • css (2728)
    • php (4572)
    • java (3021)
    • uniapp (1363)
    • elementui (828)

    陕ICP备2023000799号  网站地图

    Powered By Z-BlogPHP. Theme by TOYEAN.