3D-旋轉相冊

之前在抖音上看到的三維旋轉相冊很火,身邊朋友問了很多,今天搞完在這裏記錄一下,活不多說上代碼(圖片是亂找的。。)

 

HTML代碼:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>3D-旋轉相冊</title>
		<link rel="stylesheet" href="css/index.css" />
	</head>
	<script type="text/javascript">	
	function One(){
	alert("病案首頁");
	}
	function Two(){
	alert("病程記錄");
	}
	function Three(){
	alert("備忘錄");
	}	
	function Four(){
	alert("查房引導");
	}
	function Five(){
	alert("會診記錄");
	}
	function Six(){
	alert("檢驗檢查");
	}	
	function Seven(){
	alert("三測單");
	}
	function Eight(){
	alert("時間視圖");
	}
	function Nine(){
	alert("手術記錄");
	}
	function Ten(){
	alert("醫囑");
	}
	function  Eleven(){
	alert("診斷證明");
	}
	function Twelve(){
	alert("住院信息總覽");
	}
	</script>
	<body>
		<!--/*外層最大容器*/-->
		<div class="wrap">
	<!--	/*包裹所有元素的容器*/-->
		<div class="cube">
			<!--前面圖片 -->
			<div class="out_front">
				<img src="img2/1.jpg"  class="pic"  οnclick="One()"/>
			</div>
			<!--後面圖片 -->
			<div class="out_back">
				<img src="img2/2.jpg"  class="pic" οnclick="Two()"/>
			</div>
			<!--左圖片 -->
			<div class="out_left">
				<img src="img2/3.jpg"  class="pic" οnclick="Three()"/>
			</div>
			<div class="out_right">
				<img src="img2/4.jpg"  class="pic" οnclick="Four()"/>
			</div>
			<div class="out_top">
				<img src="img2/5.jpg"  class="pic" οnclick="Five()"/>
			</div>
			<div class="out_bottom">
				<img src="img2/6.jpg"  class="pic" οnclick="Six()"/>
			</div>
			<!--小正方體 --> 
			<span class="in_front">
				<img src="img2/7.jpg" class="in_pic"  οnclick="Seven()"/>
			</span>
			<span class="in_back">
			     <img src="img2/8.jpg" class="in_pic"  οnclick="Eight()"/>
			</span>
			<span class="in_left">
				<img src="img2/9.jpg" class="in_pic"  οnclick="Nine()"/>
			</span>
			<span class="in_right">
				<img src="img2/10.jpg" class="in_pic" οnclick="Ten()"/>
			</span>
			<span class="in_top">
				<img src="img2/11.jpg" class="in_pic" οnclick="Eleven()"/>
			</span>
			<span class="in_bottom">
				<img src="img2/12.jpg" class="in_pic" οnclick="Twelve()"/>
			</span>
		</div>
		</div>
	</body>
</html>

 

CSS:

html{
	background: #000;
    height: 100%;	
}
/*最外層容器樣式*/
.wrap{
	position: relative;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 200px;
	height: 200px;
	margin: auto;
	/*改變左右上下,圖片方塊移動*/
	
}
/*包裹所有容器樣式*/
.cube{
	width: 200px;
	height: 200px;
	margin: 0 auto;
	transform-style: preserve-3d;
	transform: rotateX(-30deg) rotateY(-80deg);
	-webkit-animation: rotate 20s infinite;
	/*勻速*/
	animation-timing-function: linear;
}
@-webkit-keyframes rotate{
	from{transform: rotateX(0deg) rotateY(0deg);}
	to{transform: rotateX(360deg) rotateY(360deg);}
}
.cube div{
	position: absolute;
	width: 200px;
	height: 200px;
	opacity: 0.8;
	transition: all .4s;
}
/*定義所有圖片樣式*/
.pic{
	width: 200px;
	height: 200px;
}
.cube .out_front{
	transform: rotateY(0deg) translateZ(100px);
}
.cube .out_back{
	transform: translateZ(-100px) rotateY(180deg);
}
.cube .out_left{
	transform: rotateY(90deg) translateZ(100px);
}
.cube .out_right{
	transform: rotateY(-90deg) translateZ(100px);
}
.cube .out_top{
	transform: rotateX(90deg) translateZ(100px);
}
.cube .out_bottom{
	transform: rotateX(-90deg) translateZ(100px);
}
/*定義小正方體樣式*/
.cube span{
	display: bloack;
	width: 100px;
	height: 100px;
	position: absolute;
	top: 50px;
	left: 50px;
}
.cube .in_pic{
	width: 100px;
	height: 100px;
}
.cube .in_front{
	transform: rotateY(0deg) translateZ(50px);
}
.cube .in_back{
	transform: translateZ(-50px) rotateY(180deg);
}
.cube .in_left{
	transform: rotateY(90deg) translateZ(50px);
}
.cube .in_right{
	transform: rotateY(-90deg) translateZ(50px);
}
.cube .in_top{
	transform: rotateX(90deg) translateZ(50px);
}
.cube .in_bottom{
	transform: rotateX(-90deg) translateZ(50px);
}
/*鼠標移入後樣式*/
.cube:hover .out_front{
	transform: rotateY(0deg) translateZ(200px);
}
.cube:hover .out_back{
	transform: translateZ(-200px) rotateY(180deg);
}
.cube:hover .out_left{
	transform: rotateY(90deg) translateZ(200px);
}
.cube:hover .out_right{
	transform: rotateY(-90deg) translateZ(200px);
}
.cube:hover .out_top{
	transform: rotateX(90deg) translateZ(200px);
}
.cube:hover .out_bottom{
	transform: rotateX(-90deg) translateZ(200px);
}

 

發佈了20 篇原創文章 · 獲贊 6 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章