「transform-style: preserve-3d」を使い、画像の表と裏が回転しているように見せる。
<html>
<head>
<meta charset="utf-8">
<title>無題ドキュメント</title>
<style>
html, body, ul, ol, li, p {
margin: 0;
padding: 0;
font-size: 100%;
}
body {
line-height: 1.0;
}
img {
border: 0;
vertical-align: bottom;
}
ul, ol {
list-style: none;
}
body {
background-color: #000;
}
#bg {
width: 500px;
height: 200px;
padding: 10px;
background-color: #e74c3c;
animation: bg-color 10s infinite;
-webkit-animation: bg-color 10s infinite;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
border-radius:10px;
}
@-webkit-keyframes bg-color {
0% { background-color: #e74c3c; }
20% { background-color: #f1c40f; }
40% { background-color: #1abc9c; }
60% { background-color: #3498db; }
80% { background-color: #9b59b6; }
100% { background-color: #e74c3c; }
}
@keyframes bg-color {
0% { background-color: #e74c3c; }
20% { background-color: #f1c40f; }
40% { background-color: #1abc9c; }
60% { background-color: #3498db; }
80% { background-color: #9b59b6; }
100% { background-color: #e74c3c; }
}
ul#flip li {
width: 500px;
position: absolute;
left: 50%;
margin-left: -250px;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
}
#front {
animation: flipFront 5s infinite alternate;
-webkit-animation:flipFront 5s infinite alternate;
}
#back {
animation: flipBack 5s infinite alternate;
-webkit-animation: flipBack 5s infinite alternate;
}
@-webkit-keyframes flipFront {
0% { transform: rotateY(0deg); }
45% { transform: rotateY(0deg);}
55% { transform: rotateY(180deg);}
100% { transform: rotateY(180deg);}
}
@keyframes flipFront {
0% { transform: rotateY(0deg);}
45% { transform: rotateY(0deg);}
55% { transform: rotateY(180deg);}
100% { transform: rotateY(180deg);}
}
@-webkit-keyframes flipBack {
0% { transform: rotateY(180deg);}
45% { transform: rotateY(180deg);}
55% { transform: rotateY(0deg);}
100% { transform: rotateY(0deg);}
}
@keyframes flipBack {
0% { transform: rotateY(180deg);}
45% { transform: rotateY(180deg);}
55% { transform: rotateY(0deg);}
100% { transform: rotateY(0deg);}
}
</style>
</head>
<body>
<div id="bg">
<ul id="flip">
<li id="front"><img src="img/01.png" alt=""></li>
<li id="back"><img src="img/02.png" alt=""></li>
</ul>
</div>
</body>
</html>