zoukankan      html  css  js  c++  java
  • 3D立体菜单导航

    今天在微博里面看到别人分享的一个立体效果,我觉得挺好的,就拿下来自己存着,万一以后用到。

    效果如下:

    index.html

    <!DOCTYPE html>
    <html >
    <head>
      <meta charset="UTF-8">
      <title>CSS3 3D立方体菜单导航DEMO演示</title>
      
    </head>
    
    <body>
    <iframe frameborder="0" scrolling="no" src="index2.html" width="100%" height="500px"></iframe>
    <div style="text-align:center;clear:both">
    <script src="/gg_bd_ad_720x90.js" type="text/javascript"></script>
    <script src="/follow.js" type="text/javascript"></script>
    </div>
    </body>
    </html>

    index2.html

    <!DOCTYPE html>
    <html >
    <head>
      <meta charset="UTF-8">
      <title>CSS3 3D立方体菜单导航DEMO演示</title>
      
      <link rel="stylesheet" href="css/normalize.min.css">
    
      <link rel='stylesheet prefetch' href='https://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.min.css'>
    
          <link rel="stylesheet" href="css/style.css">
    
      
    </head>
    
    <body>
      <nav id="nav" role='navigation'>
      <h2>sdasd</h2>
    
      <ul id="cube">
        <li class="side">
          <ul>
            <li></li>
            <li></li>
            <li class="home"><i class="round icon-home icon-2x"></i></li>
            <li class="about"><i class="icon-user icon-2x"></i><span>About us</span></li>
            <li class="shop"><i class="icon-dollar icon-2x"></i><span><br />Store</span></li>
            <li class="social"><i class="icon-comments-alt icon-2x"></i><span>Social</span></li>
            <li class="misc"><i class="icon-asterisk icon-2x"></i><span>Projects</span></li>
          </ul>  
        </li>
        <li class="side">
          <ul>
            <li><i class="icon-chevron-left icon-2x"></i><span><br />Back</span></li>
            <li class="shop"><h3>Store</h3></li>
            <li class="shop"><i class="icon-dollar icon-2x round"></i></li>
            <li class="shop"><i class="icon-fighter-jet icon-2x"></i><span>Planes</span></li>
            <li class="shop"><i class="icon-rocket icon-2x"></i><span>Rockets</span></li>
            <li class="shop"><i class="icon-gift icon-2x"></i><span>Gifts</span></li>
            <li class="shop"><i class="icon-beer icon-2x"></i><span>BEER</span></li>
            <li class="shop"><i class="icon-mobile-phone icon-2x"></i><span>Mobiles</span></li>
            <li class="shop"><i class="icon-female icon-2x"></i><span>Wifes</span></li>
          </ul>  
        </li>
        <li class="side">
          <ul>
            <li><i class="icon-chevron-left icon-2x"></i><span><br />Back</span></li>
            <li></li>
            <li class="misc"><i class="round icon-asterisk icon-2x"></i></li>
            <li class="misc" data-url="patternwall.net"><i class="icon-th icon-2x"></i><span>Patternwall</span></li>
          </ul>  
        </li>
        <li class="side">
          <ul>
            <li><i class="icon-chevron-left icon-2x"></i><span><br />Back</span></li>
            <li></li>
            <li class="about"><i class="round icon-user icon-2x"></i></li>
            <li class="about"><i class="icon-book icon-2x"></i><span>History</span></li>
            <li class="about"><i class="icon-group icon-2x"></i><span>Our team</span></li>
          </ul>
        </li>
        <li class="side">
          <ul>
            <li class="social"><i class="icon-chevron-left icon-2x"></i><span><br />Back</span></li>
            <li class="dribbble"><h3>Dribbble</h3></li>
            <li class="dribbble"><i class="icon-dribbble icon-2x round"></i></li>
            <li></li>
            <li class="dribbble" data-url="dribbble.com/Vaddo"><i class="icon-dribbble icon-4x"></i></li>
            <li></li>
            <li class="dribbble" data-url="dribbble.com/Vaddo"><p>I would like to join Dribbble :)<br /> Could somebody invite me please?</p></li>
          </ul>
        </li>
        <li class="side">
          <ul>
            <li><i class="icon-chevron-left icon-2x"></i><span><br />Back</span></li>
            <li class="social"><h3>Social</h3></li>
            <li class="social"><i class="icon-comments-alt icon-2x round"></i></li>
            <li class="social" data-url="github.com/Vaddo"><i class="icon-github-alt icon-2x"></i><span>Github</span></li>
            <li class="social" data-url="twitter.com/vadimhermann"><i class="icon-twitter icon-2x"></i><span>Twitter</span></li>
            <li class="dribbble" data-url="click!"><i class="icon-dribbble icon-2x"></i><span>Dribbble</span></li>
            <li class="social" data-url="xing.com/profile/Vadim_Hermann"><i class="icon-xing icon-2x"></i><span>XING</span></li>
          </ul>
        </li>
      </ul>
    </nav>
    
      <script src='js/jquery.min.js'></script>
    
        <script  src="js/index.js"></script>
    
    </body>
    </html>

    js文件:

    index.js

    // 
    // Inspired by JTK-Developments
    // ----
    // https://codepen.io/jtkDvlp/pen/lswmu
    //
    
    
    
    $(".side").on("click", "li", function(){
      $("#cube").removeClass().addClass($(this).attr("class"));
    }).on("mouseover", "li", function(){
      var me   = $(this);
      var attr = me.attr("data-url");
    
      if(attr != undefined){
        $("h2").text(attr).css("visibility", "visible");
      }
    });

     css文件:

    style.css

    body {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-color: #E7EAE3;
      -moz-box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.4);
      -webkit-box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.4);
      box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.4);
    }
    
    ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    
    p {
      line-height: 22px;
      position: absolute;
      left: 0;
      font-size: 12px;
      right: 0;
      color: rgba(255, 255, 255, 0.5);
      font-style: italic;
      cursor: default;
    }
    
    nav {
      height: 240px;
      width: 240px;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      perspective: 1000px;
      -webkit-perspective: 1000px;
      -moz-perspective: 1000px;
    }
    
    h2 {
      color: #9EA7B3;
      font-weight: normal;
      font-style: italic;
      text-align: center;
      font-size: 18px;
      margin-top: -40px;
      visibility: hidden;
      -moz-transition: all 0.4s ease;
      -o-transition: all 0.4s ease;
      -webkit-transition: all 0.4s ease;
      transition: all 0.4s ease;
    }
    
    h3 {
      color: rgba(255, 255, 255, 0.3) !important;
      cursor: default;
      font-weight: normal;
      margin: 0;
      line-height: 42px;
      font-size: 14px;
    }
    
    .side {
      color: white;
      background-color: #2C2C2C;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius: 10px;
      -moz-box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
      -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
      box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
    }
    .side span {
      font-size: 12px;
      position: relative;
      top: -36px;
      color: rgba(255, 255, 255, 0.3);
      opacity: 0;
      -moz-transition: opacity 0.4s ease;
      -o-transition: opacity 0.4s ease;
      -webkit-transition: opacity 0.4s ease;
      transition: opacity 0.4s ease;
    }
    .side li {
      width: 50px;
      height: 50px;
      float: left;
      margin-left: 22px;
      margin-top: 20px;
      text-align: center;
      line-height: 60px;
      -moz-transition: color 0.4s ease;
      -o-transition: color 0.4s ease;
      -webkit-transition: color 0.4s ease;
      transition: color 0.4s ease;
    }
    .side li:hover {
      color: #FD6347;
    }
    .side li:hover span {
      opacity: 1;
    }
    
    .round {
      color: rgba(255, 255, 255, 0.3);
      font-size: 22px;
      line-height: 26px;
      padding: 4px;
      width: 28px;
      height: 28px;
      position: relative;
      top: -6px;
      display: inline-block;
      background-color: rgba(255, 255, 255, 0.1);
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      border-radius: 50%;
    }
    
    #cube {
      position: absolute;
      height: 100%;
      width: 100%;
      transform-style: preserve-3d;
      -webkit-transform-style: preserve-3d;
      -moz-transform-style: preserve-3d;
      -moz-transform: translateZ(-120px);
      -ms-transform: translateZ(-120px);
      -webkit-transform: translateZ(-120px);
      transform: translateZ(-120px);
      -moz-transition: -moz-transform 0.6s cubic-bezier(0.11, 0.93, 0.65, 0.92);
      -o-transition: -o-transform 0.6s cubic-bezier(0.11, 0.93, 0.65, 0.92);
      -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.11, 0.93, 0.65, 0.92);
      transition: transform 0.6s cubic-bezier(0.11, 0.93, 0.65, 0.92);
    }
    
    .side {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }
    
    .icon-dribbble.icon-5x {
      color: #CB376F;
    }
    
    .icon-4x {
      color: #DC5C8B !important;
    }
    
    .side:nth-child(6n+1) {
      -moz-transform: rotateY(0deg) translateZ(120px);
      -ms-transform: rotateY(0deg) translateZ(120px);
      -webkit-transform: rotateY(0deg) translateZ(120px);
      transform: rotateY(0deg) translateZ(120px);
    }
    
    .side:nth-child(6n+2) {
      -moz-transform: rotateY(90deg) translateZ(120px);
      -ms-transform: rotateY(90deg) translateZ(120px);
      -webkit-transform: rotateY(90deg) translateZ(120px);
      transform: rotateY(90deg) translateZ(120px);
    }
    
    .side:nth-child(6n+3) {
      -moz-transform: rotateX(180deg) translateZ(120px);
      -ms-transform: rotateX(180deg) translateZ(120px);
      -webkit-transform: rotateX(180deg) translateZ(120px);
      transform: rotateX(180deg) translateZ(120px);
    }
    
    .side:nth-child(6n+4) {
      -moz-transform: rotateY(-90deg) translateZ(120px);
      -ms-transform: rotateY(-90deg) translateZ(120px);
      -webkit-transform: rotateY(-90deg) translateZ(120px);
      transform: rotateY(-90deg) translateZ(120px);
    }
    
    .side:nth-child(6n+5) {
      -moz-transform: rotateX(-90deg) translateZ(120px);
      -ms-transform: rotateX(-90deg) translateZ(120px);
      -webkit-transform: rotateX(-90deg) translateZ(120px);
      transform: rotateX(-90deg) translateZ(120px);
    }
    
    .side:nth-child(6n+6) {
      -moz-transform: rotateX(90deg) translateZ(120px);
      -ms-transform: rotateX(90deg) translateZ(120px);
      -webkit-transform: rotateX(90deg) translateZ(120px);
      transform: rotateX(90deg) translateZ(120px);
    }
    
    #cube.home {
      -moz-transform: translateZ(-120px) rotateY(0deg);
      -ms-transform: translateZ(-120px) rotateY(0deg);
      -webkit-transform: translateZ(-120px) rotateY(0deg);
      transform: translateZ(-120px) rotateY(0deg);
    }
    #cube.about {
      -moz-transform: translateZ(-120px) rotateY(90deg);
      -ms-transform: translateZ(-120px) rotateY(90deg);
      -webkit-transform: translateZ(-120px) rotateY(90deg);
      transform: translateZ(-120px) rotateY(90deg);
    }
    #cube.misc {
      -moz-transform: translateZ(-120px) rotateX(180deg);
      -ms-transform: translateZ(-120px) rotateX(180deg);
      -webkit-transform: translateZ(-120px) rotateX(180deg);
      transform: translateZ(-120px) rotateX(180deg);
    }
    #cube.social {
      -moz-transform: translateZ(-120px) rotateX(-90deg);
      -ms-transform: translateZ(-120px) rotateX(-90deg);
      -webkit-transform: translateZ(-120px) rotateX(-90deg);
      transform: translateZ(-120px) rotateX(-90deg);
    }
    #cube.shop {
      -moz-transform: translateZ(-120px) rotateY(-90deg);
      -ms-transform: translateZ(-120px) rotateY(-90deg);
      -webkit-transform: translateZ(-120px) rotateY(-90deg);
      transform: translateZ(-120px) rotateY(-90deg);
    }
    #cube.dribbble {
      -moz-transform: translateZ(-120px) rotateX(90deg);
      -ms-transform: translateZ(-120px) rotateX(90deg);
      -webkit-transform: translateZ(-120px) rotateX(90deg);
      transform: translateZ(-120px) rotateX(90deg);
    }

    normalize.min.css

    button,hr,input{overflow:visible}audio,canvas,progress,video{display:inline-block}progress,sub,sup{vertical-align:baseline}html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} menu,article,aside,details,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{}button,select{text-transform:none}[type=submit], [type=reset],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}/*# sourceMappingURL=normalize.min.css.map */
  • 相关阅读:
    Ajax XMLHttpRequest对象的三个属性以及open和send方法
    去空格
    绑定事件中 如可控制函数的执行次数
    我之理解---计时器setTimeout 和clearTimeout
    关于border边框重叠颜色设置问题
    YbtOj练习:二分5 飞离地球
    YbtOj练习:二分4 分割矩阵
    YbtOj练习:二分3 攻击法坛
    YbtOj练习:贪心3 最优密码
    YbtOj练习:二分2 最小时间
  • 原文地址:https://www.cnblogs.com/LoganChen/p/7861434.html
Copyright © 2011-2022 走看看