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 */
原文地址:https://www.cnblogs.com/LoganChen/p/7861434.html