Cube slider, a small experiment with HTML5/CSS3 3d transforms.
Forked from Ilya K.'s Pen 3D Cube slider. Pure CSS..
A Pen by Jason McGovern on CodePen.
Cube slider, a small experiment with HTML5/CSS3 3d transforms.
Forked from Ilya K.'s Pen 3D Cube slider. Pure CSS..
A Pen by Jason McGovern on CodePen.
<h1 class="title">3D slider with pure CSS3</h1> | |
<section class="three-d-container"> | |
<input type="radio" checked class="three-d-bullet a" name="three-d"> | |
<input type="radio" class="three-d-bullet b" name="three-d"> | |
<input type="radio" class="three-d-bullet c" name="three-d"> | |
<input type="radio" class="three-d-bullet d" name="three-d"> | |
<input type="radio" class="three-d-bullet e" name="three-d"> | |
<input type="radio" class="three-d-bullet f" name="three-d"> | |
<div class="three-d-cube"> | |
<figure class="three-d-item"> | |
<img src="http://lorempixel.com/500/500/food/1" alt=""> | |
</figure> | |
<figure class="three-d-item"> | |
<img src="http://lorempixel.com/500/500/food/2" alt=""> | |
</figure> | |
<figure class="three-d-item"> | |
<img src="http://lorempixel.com/500/500/food/3" alt=""> | |
</figure> | |
<figure class="three-d-item"> | |
<img src="http://lorempixel.com/500/500/food/4" alt=""> | |
</figure> | |
<figure class="three-d-item"> | |
<img src="http://lorempixel.com/500/500/food/5" alt=""> | |
</figure> | |
<figure class="three-d-item"> | |
<img src="http://lorempixel.com/500/500/food/6" alt=""> | |
</figure> | |
</div> | |
</section> |
.title { | |
text-align: center; | |
color: #333; | |
font: 24px Helvetica, Arial, serif;} | |
.three-d-container { | |
margin:30px auto; | |
width:300px; | |
height:300px; | |
border-radius: 3px; | |
position:relative; | |
perspective:1000px; | |
box-shadow:0 20px 60px rgba(0,0,0,0.2), 0 0 40px rgba(0,0,0,0.2) inset;} | |
.three-d-cube { | |
width:100%; | |
height:100%; | |
position:absolute; | |
transition: transform 1s; | |
transform-style:preserve-3d; | |
transform:translateZ( -150px );} | |
.three-d-cube .three-d-item { | |
width:100%; | |
height:100%; | |
display:block; | |
margin:0; | |
position:absolute;} | |
.three-d-cube .three-d-item img { | |
width:100%; | |
height:100%; | |
display:block; | |
margin:0;} | |
.three-d-item:nth-child(1) { | |
transform:rotateY( 0deg ) translateZ( 150px );} | |
.three-d-item:nth-child(2) { | |
transform:rotateX( 180deg ) translateZ( 150px );} | |
.three-d-item:nth-child(3) { | |
transform:rotateY( 90deg ) translateZ( 150px );} | |
.three-d-item:nth-child(4) { | |
transform:rotateY( -90deg ) translateZ( 150px );} | |
.three-d-item:nth-child(5) { | |
transform:rotateX( 90deg ) translateZ( 150px );} | |
.three-d-item:nth-child(6) { | |
transform:rotateX( -90deg ) translateZ( 150px );} | |
.a:checked ~ .three-d-cube { | |
transform:translateZ( -150px ) rotateY( 0deg );} | |
.b:checked ~ .three-d-cube { | |
transform:translateZ( -150px ) rotateX( -180deg );} | |
.c:checked ~ .three-d-cube { | |
transform:translateZ( -150px ) rotateY( -90deg );} | |
.d:checked ~ .three-d-cube { | |
transform:translateZ( -150px ) rotateY( 90deg );} | |
.e:checked ~ .three-d-cube { | |
transform:translateZ( -150px ) rotateX( -90deg );} | |
.f:checked ~ .three-d-cube { | |
transform:translateZ( -150px ) rotateX( 90deg );} | |
.three-d-bullet { | |
margin:350px 10px 0 0; | |
float:left;} | |
.three-d-bullet:first-child { | |
margin:350px 10px 0 88px;} |