神奇的css之翻書效果

<!DOCTYPE html>

 

<html>

 

<head>

 

<meta charset="utf-8" />

 

<title></title>

 

<style>

body {

 

overflow: hidden;

 

margin: 0;

 

padding: 0;

 

}

 

#book {

 

position: absolute;

 

left: 50%;

 

top: 50%;

 

margin-left: -325px;

 

margin-top: -300px;

 

height: 600px;

 

width: 750px;

 

transform-style: preserve-3d;

 

transform: perspective(1000px) rotateX(60deg) rotateY(0deg);

 

transition: 1s;

 

}

 

#book:hover {

 

transform: perspective(1000px) rotateX(0deg) rotateY(0deg);

 

}

 

#book div {

 

height: 600px;

 

width: 750px;

 

text-align: center;

 

line-height: 600px;

 

position: absolute;

 

left: 0;

 

top: 0;

 

transform-origin: left;

 

transition: 1s;

}

 

#book div:nth-of-type(odd) {

background: orange;

}

 

#book div:nth-of-type(even) {

background: yellow;

}

 

#book:after {

content: "";

position: absolute;

width: 600px;

height: 5px;

background: rgba(0, 0, 0, 0.8);

left: 75px;

z-index: -2;

bottom: -10px;

border-radius: 70%;

box-shadow: 0px 0px 25px 15px rgba(0, 0, 0, 0.8);

}

</style>

 

<script>

window.onload = function () {

var book = document.getElementById("book");

var pages = book.getElementsByTagName("div");

var pageNumber = 4,

rota = -180;

book.onclick = function () {

book.style.left = "65%";

pages[pageNumber].style.transform = "rotateY(" + rota + "deg)";

pageNumber--;

rota += 5;

if (pageNumber < 0) {

for (var i = 0; i < pages.length; i++) {

pages[i].style.transform = "rotateY(0deg)";

}

book.style.left = "50%";

pageNumber = 4;

rota = -180;

}

}

}

</script>

 

</head>

 

<body>

 

<div id="book">

<div>5</div>

<div>4</div>

<div>3</div>

<div>2</div>

<div>1</div>

</div>

</body>

 

</html>

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