CSS 3D動畫效果

示例1(兩面翻轉的圖片):

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>兩面翻轉的圖片</title>
    <style>
        div {
            width: 224px;
            height: 224px;
            margin: 100px auto;
            position: relative;
        }
        
        div img {
            position: absolute;
            top: 0;
            left: 0;
            transition: all 1s;

        }
        
        div img:first-child {
            z-index: 1;
            backface-visibility: hidden;  /*不是正面對向屏幕,就隱藏*/
        }
        
        div:hover img {
            transform: rotateY(180deg);
        }
    </style>
</head>
<body>
<div>
    <img src="img/qian.svg" alt=""/>
    <img src="img/hou.svg" alt=""/>
</div>
</body>
</html>

 

示例2(導航菜單3D):

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>3D導航</title>
  <style type="text/css">
    * {
      margin: 0;
      padding: 0;
    }
    ul {
      /*取消ul的默認樣式*/
      list-style: none;
      margin: 90px auto;
      width: 800px;
    }
    ul li {
      width: 120px;
      height: 50px;
      float: left;
      position: relative;
      /*設置子元素顯示方式爲3d*/
      transform-style:preserve-3d; 
      /*設置旋轉的過渡效果*/
      transition: transform 1s;     
    }
    li a {
      position: absolute;
      /*設置了相對定位的元素,默認具有塊元素的特點*/
      /*取消a鏈接的默認下劃線*/
      text-decoration: none;
      text-align: center; 
      line-height: 50px;
      color: #fff;
      text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.8);
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    
    li a:first-child {
      transform: translateZ(25px);
      background-color: #ff5544;
    }
    li a:last-child {
      background-color: skyblue;
      transform: rotateX(-90deg) translateZ( 25px );
    }
    li:hover {

      transform: rotateX(90deg);
    }
  </style>
</head>
<body>
  <ul>
    <li>
     <a href="#">厚溥程序員</a>
     <a href="#">前端學院</a>
    </li>
    <li>
     <a href="#">厚溥程序員</a>
     <a href="#">設計學院</a>
    </li><li>
     <a href="#">厚溥程序員</a>
     <a href="#">實施學院</a>
    </li><li>
     <a href="#">厚溥程序員</a>
     <a href="#">人工智能學院</a>
    </li><li>
     <a href="#">厚溥程序員</a>
     <a href="#">物聯網學院</a>
    </li>
  </ul>
</body>
</html>

 

示例3(開門大吉):

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>開門大吉</title>
    <style>
        section {
            width: 450px;
            height: 300px;
            border: 1px solid #000;
            margin: 100px auto;
            background: url(img/3.jpg) no-repeat;
            position: relative;
            perspective: 1000px;  /*給父盒子添加透視效果*/
        }
        .door-l, .door-r {
            position: absolute;
            top: 0;
            width: 50%;
            height: 100%;
            background-color: pink;
            transition: all 1s; /*兩個門都做過渡效果*/
            background: url(img/bg.png);


        }
        .door-l {
            left: 0;
            border-right: 1px solid #000;
            transform-origin: left;/* 左側盒子按照左邊翻轉*/
        }
        .door-r {
            right: 0;
            left: 1px solid #000;
            transform-origin: right;/*  右側盒子按照右邊翻轉*/
        }
        .door-l::before, .door-r::before {  /*僞元素 就是插入一個元素標籤*/
            content: '';
            position: absolute;
            top: 50%;
            width: 20px;
            height: 20px;
            border: 1px solid #000;
            border-radius: 50%; /*圓角*/
            transform:translateY(-50%); /*translate 如果是百分比, 就是走自己高度的一半*/
        }
        .door-l::before {
            right: 5px;
        }
        .door-r::before {
            left: 5px;
        }
        /*鼠標經過section 盒子 兩個門盒子 翻轉 rotateY*/
        section:hover .door-l {
            transform: rotateY(-130deg);  /*因爲往左邊翻轉,所以是負值*/
        }
        section:hover .door-r {
            transform: rotateY(130deg);
        }
    </style>
</head>
<body>
<section>
    <div class="door-l"></div>
    <div class="door-r"></div>
</section>
</body>
</html>

 

示例4(子菜單導航欄3D):

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>翻轉導航欄</title>
	<style type="text/css">
		*{
			margin:0;
			padding:0;
		}
		ul{
			list-style: none;
		}
		body{
			font:16px "微軟雅黑";
			background-color: #CCC;
		}
		a{
			color:#fff;
			text-decoration: none;
		}
		nav{
			width: 80%;
			margin:100px auto;
			height: 50px;
			background: -webkit-linear-gradient(#292929, #252525);
			border-bottom: 2px solid #222222;
			border-top: 2px solid #1B1B1B;
			min-width: 400px;
			position: relative;
		
		}
		nav>ul{
			display: -webkit-box;
		}
		nav>ul>li{
			-webkit-box-flex:1;
			height:50px;
			text-align: center;
			line-height: 50px;
			position: relative;
		
		}
		nav li:hover{
			background: -webkit-linear-gradient(#1c1c1c, #1b1b1b);
		}
		.subnav{
			position: absolute;
			top:50px;
			left:0;
			width: 100%;
			-webkit-perspective:400px;
			max-height: 0;
		}
		.subnav li{
			background: -webkit-linear-gradient(#292929, #252525);
			opacity: 0;
			transform:rotateY(90deg);
			transition:opacity .4s,transform .5s;
		}
		nav>ul>li:hover .subnav li{
			opacity: 1;
			transform:none;
		
		}
		.subnav li:nth-child(1){
			 -webkit-transition-delay: 250ms;
			
		}
		.subnav li:nth-child(2){
			 -webkit-transition-delay: 200ms;
			
		}
		.subnav li:nth-child(3){
			 -webkit-transition-delay: 150ms;
			
		}
		.subnav li:nth-child(4){
			 -webkit-transition-delay: 100ms;
			
		}
		.subnav li:nth-child(5){
			 -webkit-transition-delay: 50ms;
			
		}
		.subnav li:nth-child(6){
			 -webkit-transition-delay: 0ms;
			
		}
		nav>ul>li:hover .subnav li:nth-child(1)
			{
				 -webkit-transition-delay: 0s;
			}
		nav>ul>li:hover .subnav li:nth-child(2)
			{
				 -webkit-transition-delay: 50ms;
			}
		nav>ul>li:hover .subnav li:nth-child(3)
			{
				 -webkit-transition-delay: 100ms;
			}
		nav>ul>li:hover .subnav li:nth-child(4)
			{
				 -webkit-transition-delay: 150ms;
			}	
		nav>ul>li:hover .subnav li:nth-child(5)
			{
				 -webkit-transition-delay: 200ms;
			}
		nav>ul>li:hover .subnav li:nth-child(6)
			{
				 -webkit-transition-delay: 250ms;
			}
		
	</style>
</head>
<body>
	<nav>
		<ul>
			<li><a href="#">厚溥IT</a></li>
			<li>
				<a href="#">厚溥IT</a>
				<ul class="subnav">
					<li><a href="#">網頁平面</a></li>
					<li><a href="#">java培訓</a></li>
					<li><a href="#">php培訓</a></li>
					<li><a href="#">網絡營銷</a></li>
					<li><a href="#">IOS培訓</a></li>
					<li><a href="#">c++培訓</a></li>
				</ul>

			</li>
			<li>
				<a href="#">厚溥IT</a>
				<ul class="subnav">
					<li><a href="#">網頁平面</a></li>
					<li><a href="#">java培訓</a></li>
					<li><a href="#">php培訓</a></li>
					<li><a href="#">網絡營銷</a></li>
					<li><a href="#">IOS培訓</a></li>
					<li><a href="#">c++培訓</a></li>
				</ul>

			</li>
			<li><a href="#">厚溥IT</a></li>
			<li><a href="#">厚溥IT</a></li>
			<li><a href="#">厚溥IT</a></li>
		</ul>

	</nav>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章