Recreation of this:
http://12gon.tumblr.com/post/95627533833/flip-4gons
License: VVL (visual vomit license)
Forked from Nils Schönwald's Pen Flip.
A Pen by Michael Anthony Casey on CodePen.
Recreation of this:
http://12gon.tumblr.com/post/95627533833/flip-4gons
License: VVL (visual vomit license)
Forked from Nils Schönwald's Pen Flip.
A Pen by Michael Anthony Casey on CodePen.
.Wrap | |
- 5.times do | |
.Ring | |
- 16.times do | |
.lvl1 | |
.lvl2 | |
.lvl3 |
$s: 11em; | |
$rn: 5; | |
$pn: 16; | |
$p-d: 360 / $pn; | |
$p-deg: $p-d * 1deg; | |
$t: 1.5s; | |
body { | |
background-color: #f1200c; | |
//background-color: #000; | |
overflow: hidden; | |
&:before, | |
&:after { | |
// content: ''; | |
position: absolute; | |
background-color: #fff; | |
z-index: 999; | |
} | |
&:before { | |
top: 0; | |
left: 50%; | |
width: 2px; | |
height: 100%; | |
margin-left: -1px; | |
} | |
&:after { | |
top: 50%; | |
left: 0; | |
height: 2px; | |
width: 100%; | |
margin-top: -1px; | |
} | |
} | |
.lvl1 { | |
position: absolute; | |
top: 50%; | |
left: 50%; | |
transform-origin: top left; | |
background-color: green; | |
} | |
.lvl2 { | |
position: relative; | |
animation: rotate $t ease-in-out infinite; | |
} | |
.lvl3 { | |
position: absolute; | |
width: $s; | |
height: $s; | |
background-color: #000; | |
transform-origin: top left; | |
backface-visibility: hidden; | |
transform: rotate(-45deg); | |
background-color: #000; | |
} | |
@for $j from 1 through $pn { | |
.lvl1:nth-child(#{$j}) { | |
transform: rotate($p-deg * ($j - 1)) scaleY(.2); | |
z-index: $pn - $j; | |
.lvl3 { | |
//background-color: hsl($p-d * ($j - 1), 100%, 50%); | |
} | |
} | |
.Ring:nth-child(2) .lvl1:nth-child(#{$j}) { | |
transform: | |
rotate($p-deg * ($j - 1) + $p-deg * .5) | |
scale(.95, 0.392) | |
translateX($s * .75); | |
} | |
.Ring:nth-child(3) .lvl1:nth-child(#{$j}) { | |
transform: | |
rotate($p-deg * ($j - 1) + $p-deg) | |
scale(.85, 0.565) | |
translateX($s * 1.657); | |
} | |
.Ring:nth-child(4) .lvl1:nth-child(#{$j}) { | |
transform: | |
rotate($p-deg * ($j - 1) + $p-deg * 1.5) | |
scale(.72, 0.72) | |
translateX($s * 2.84); | |
} | |
.Ring:nth-child(5) .lvl1:nth-child(#{$j}) { | |
transform: | |
rotate($p-deg * ($j - 1) + $p-deg * 2) | |
scale(.57, 0.85) | |
translateX($s * 4.56); | |
} | |
} | |
@for $i from 1 through $rn { | |
.Ring:nth-last-child(#{$i}) .lvl2 { | |
animation-delay: $t / $rn * $i * -.3; | |
} | |
} | |
@keyframes rotate { | |
0% { transform: rotateX(0); } | |
90%,100% { transform: rotateX(180deg); } | |
} |