zoukankan      html  css  js  c++  java
  • CSS3 3D立方体翻转菜单实现教程

    今天我们来看一个非常有创意的CSS3 3D菜单,这个菜单的菜单项是可以旋转的长方体,鼠标滑过是长方体即可旋转,看看下面的效果图,是不是感觉非常酷,我觉得这个菜单很适合用在咱们开发人员的个人网站上。

    当然你也可以直接到这里去查看这款菜单的DEMO演示

    接下来还是分析一下这款CSS3菜单的源代码吧,很简单的HTML+CSS即可实现。

    先来看看HTML代码:

    <nav>
      <ul>
        <li><a class="current" href="#" data-hover="Home">Home</a></li>
        <li><a href="#" data-hover="Blog">Blog</a></li>
        <li><a href="#" data-hover="About">About</a></li>
        <li><a href="#" data-hover="Contact">Contact</a></li>
      </ul>
    </nav>

    这个HTML布局可谓是干净利落,很难看出来这会是一款超酷的3D菜单。

    当然最重要的是CSS代码,一起来看看:

    先是定义了一下菜单的整体外观,包括文字的颜色和菜单的背景等等:

    nav {
      background: #fff;
      margin: 15vh 2rem;
    }
    nav ul {
      list-style: none;
    }
    nav ul li {
      display: inline-block;
      text-transform: uppercase;
      font-size: 1.5rem;
      letter-spacing: 0.05rem;
    }
    nav ul li a {
      display: inline-block;
      padding: 1rem;
      color: #000;
      text-decoration: none;
      -webkit-transition: -webkit-transform 0.3s ease 0s;
      transition: transform 0.3s ease 0s;
      -webkit-transform-origin: 50% 0px 0px;
      -ms-transform-origin: 50% 0px 0px;
      transform-origin: 50% 0px 0px;
      -webkit-transform-style: preserve-3d;
      -ms-transform-style: preserve-3d;
      transform-style: preserve-3d;
    }
    nav ul li a.current {
      color: #FF005B;
    }

    然后就是鼠标滑过菜单项实现的立方体翻转效果了:

    nav ul li a:hover {
      background: #fff;
      color: #000;
      -webkit-transform: rotateX(90deg) translateY(-22px);
      -ms-transform: rotateX(90deg) translateY(-22px);
      transform: rotateX(90deg) translateY(-22px);
    }
    nav ul li a::before {
      position: absolute;
      top: 100%;
      left: 0px;
      width: 100%;
      padding: 4px 0px;
      text-align: center;
      line-height: 50px;
      background: none repeat scroll 0% 0% #FF005B;
      color: #FFF;
      content: attr(data-hover);
      -webkit-transition: #6363CE 0.3s ease 0s;
      transition: #6363CE 0.3s ease 0s;
      -webkit-transform: rotateX(-90deg);
      -ms-transform: rotateX(-90deg);
      transform: rotateX(-90deg);
      -webkit-transform-origin: 50% 0px 0px;
      -ms-transform-origin: 50% 0px 0px;
      transform-origin: 50% 0px 0px;
    }

    不难看出,我们通过CSS3的transform的rotate属性就能完成翻转的动作,同时结合transition属性来实现翻转过程中颜色的渐变动画。

    最后我们把源代码分享上来,下载地址>>

  • 相关阅读:
    Ubuntu 14 如何解压 .zip、.rar 文件
    python 自定义异常
    python 简单的自定义异常类模版
    python 获取文件目录位置
    python获取当前文件路径以及父文件路径
    python tar 打包
    python requests 上传文件
    android:ems="10"是什么意思
    django 应用中获取访问者ip地址
    curl: (6) Could not resolve host: www.baidu.com;
  • 原文地址:https://www.cnblogs.com/html5tricks/p/3724177.html
Copyright © 2011-2022 走看看