Skip to content

Instantly share code, notes, and snippets.

@CurleyWebDev
Last active August 19, 2019 19:36
Show Gist options
  • Save CurleyWebDev/21a33f7140de334e508c99a569a84a24 to your computer and use it in GitHub Desktop.
Save CurleyWebDev/21a33f7140de334e508c99a569a84a24 to your computer and use it in GitHub Desktop.
Black Tiles

Black Tiles

CSS animation : Animation of the transform-origin prot=perty, and rotate transform functions.

by CurleyWebDev

License.

<div class="container">
<div class="cwd text-uppercase text-center">
<p>c</p>
<p>u</p>
<p>r</p>
<p>l</p>
<p>e</p>
<p>y</p>
<p>w</p>
<p>e</p>
<p>b</p>
<p>d</p>
<p>e</p>
<p>v</p>
</div>
<div class="css text-uppercase text-center">
<p>c</p>
<p>s</p>
<p>s</p>
<p>a</p>
<p>n</p>
<p>i</p>
<p>m</p>
<p>a</p>
<p>t</p>
<p>i</p>
<p>o</p>
<p>n</p>
</div>
<div class="js text-uppercase text-center">
<p>n</p>
<p>o</p>
<p>j</p>
<p>a</p>
<p>v</p>
<p>a</p>
<p>s</p>
<p>c</p>
<p>r</p>
<p>i</p>
<p>p</p>
<p>t</p>
</div>
</div>
@import url('https://fonts.googleapis.com/css?family=Space+Mono:400,700');
body {
background: white;
overflow:hidden;
}
.container {
margin-top: 75px;
-webkit-animation: hue 3s linear infinite;
animation: hue 3s linear infinite;
}
p {
margin-top: 200px;
color: white;
font-size: 700;
-webkit-text-stroke: 2px #121212;
display: inline-block;
font-size: 3.8em;
outline: 1px solid silver;
border: 2px solid white;
font-family: 'Space Mono', monospace;
padding: 0 7px;
-webkit-filter: drop-shadow(0 0 5px black);
filter: drop-shadow(0 0 5px black);
-webkit-box-shadow: inset 0 0 10px 2px black, 0 5px 5px 1px black;
box-shadow: inset 0 0 10px 2px black, 0 5px 5px 1px black;
background: conic-gradient(silver, white, black, silver);
background-size: 159px;
margin-right: 2px;
}
.cwd {}
.cwd p {
position: relative;
opacity: 0;
}
.cwd p:nth-child(1) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 1s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 1s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(2) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 1.25s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 1.25s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(3) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 1.5s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 1.5s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(4) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 1.75s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 1.75s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(5) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 2s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 2s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(6) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 2.25s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 2.25s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(7) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 2.5s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 2.5s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(8) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 2.75s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 2.75s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(9) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 3s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 3s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(10) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 3.25s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 3.25s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(11) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 3.5s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 3.5s, fall 1s ease-in-out forwards 4.5s;
}
.cwd p:nth-child(12) {
-webkit-animation: zoom-in 500ms ease-in-out forwards 3.75s, fall 1s ease-in-out forwards 4.5s;
animation: zoom-in 500ms ease-in-out forwards 3.75s, fall 1s ease-in-out forwards 4.5s;
}
.css {
position: relative;
bottom: 310px;
}
.css p {
position: relative;
opacity: 0;
}
.css p:nth-child(1) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 6.5s, flip-out 500ms ease-in-out forwards 9.5s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 6.5s, flip-out 500ms ease-in-out forwards 9.5s;
}
.css p:nth-child(2) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 6.75s, flip-out 500ms ease-in-out forwards 10s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 6.75s, flip-out 500ms ease-in-out forwards 10s;
}
.css p:nth-child(3) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7s, flip-out 500ms ease-in-out forwards 10.5s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7s, flip-out 500ms ease-in-out forwards 10.5s;
}
.css p:nth-child(4) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7.25s, flip-out 500ms ease-in-out forwards 11s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7.25s, flip-out 500ms ease-in-out forwards 11s;
}
.css p:nth-child(5) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7.5s, flip-out 500ms ease-in-out forwards 11.5s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7.5s, flip-out 500ms ease-in-out forwards 11.5s;
}
.css p:nth-child(6) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7.75s, flip-out 500ms ease-in-out forwards 12s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 7.75s, flip-out 500ms ease-in-out forwards 12s;
}
.css p:nth-child(7) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8s, flip-out 500ms ease-in-out forwards 12.5s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8s, flip-out 500ms ease-in-out forwards 12.5s;
}
.css p:nth-child(8) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8.25s, flip-out 500ms ease-in-out forwards 13s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8.25s, flip-out 500ms ease-in-out forwards 13s;
}
.css p:nth-child(9) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8.5s, flip-out 500ms ease-in-out forwards 13.5s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8.5s, flip-out 500ms ease-in-out forwards 13.5s;
}
.css p:nth-child(10) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8.75s, flip-out 500ms ease-in-out forwards 14s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 8.75s, flip-out 500ms ease-in-out forwards 14s;
}
.css p:nth-child(11) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 9s, flip-out 500ms ease-in-out forwards 14.5s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 9s, flip-out 500ms ease-in-out forwards 14.5s;
}
.css p:nth-child(12) {
-webkit-animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 9.25s, flip-out 500ms ease-in-out forwards 15s;
animation: rise 1s ease-in-out forwards 5.5s, spin 500ms linear forwards 9.25s, flip-out 500ms ease-in-out forwards 15s;
}
.js {
position: relative;
bottom: 620px;
}
.js p {
position: relative;
opacity: 0;
}
.js p:nth-child(1) {
-webkit-animation: rise2 500ms ease-in-out forwards 9.75s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 9.75s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(2) {
-webkit-animation: rise2 500ms ease-in-out forwards 10.25s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 10.25s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(3) {
-webkit-animation: rise2 500ms ease-in-out forwards 10.75s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 10.75s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(4) {
-webkit-animation: rise2 500ms ease-in-out forwards 11.25s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 11.25s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(5) {
-webkit-animation: rise2 500ms ease-in-out forwards 11.75s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 11.75s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(6) {
-webkit-animation: rise2 500ms ease-in-out forwards 12.25s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 12.25s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(7) {
-webkit-animation: rise2 500ms ease-in-out forwards 12.75s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 12.75s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(8) {
-webkit-animation: rise2 500ms ease-in-out forwards 13.25s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 13.25s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(9) {
-webkit-animation: rise2 500ms ease-in-out forwards 13.75s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 13.75s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(10) {
-webkit-animation: rise2 500ms ease-in-out forwards 14.25s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 14.25s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(11) {
-webkit-animation: rise2 500ms ease-in-out forwards 14.75s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 14.75s, fall 1s ease-in-out 16.25s forwards;
}
.js p:nth-child(12) {
-webkit-animation: rise2 500ms ease-in-out forwards 15.25s, fall 1s ease-in-out 16.25s forwards;
animation: rise2 500ms ease-in-out forwards 15.25s, fall 1s ease-in-out 16.25s forwards;
}
@-webkit-keyframes zoom-in {
0% {
opacity: 0;
-webkit-transform: scale(10);
transform: scale(10);
}
50% {
opacity: 1;
}
75% {
-webkit-transform: scale(.0);
transform: scale(.0);
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes zoom-in {
0% {
opacity: 0;
-webkit-transform: scale(10);
transform: scale(10);
}
50% {
opacity: 1;
}
75% {
-webkit-transform: scale(.0);
transform: scale(.0);
}
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
}
@-webkit-keyframes fall {
0% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(0);
transform: perspective(200px) rotateX(0);
}
100% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(90deg);
transform: perspective(200px) rotateX(90deg);
}
}
@keyframes fall {
0% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(0);
transform: perspective(200px) rotateX(0);
}
100% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(90deg);
transform: perspective(200px) rotateX(90deg);
}
}
@-webkit-keyframes rise {
0% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(90deg);
transform: perspective(200px) rotateX(90deg);
}
100% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(0);
transform: perspective(200px) rotateX(0);
}
}
@keyframes rise {
0% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(90deg);
transform: perspective(200px) rotateX(90deg);
}
100% {
opacity: 1;
-webkit-transform-origin: bottom;
transform-origin: bottom;
-webkit-transform: perspective(200px) rotateX(0);
transform: perspective(200px) rotateX(0);
}
}
@-webkit-keyframes spin {
from {
-webkit-transform: rotatey(0);
transform: rotatey(0);
}
to {
-webkit-transform: rotatey(360deg);
transform: rotatey(360deg);
}
}
@keyframes spin {
from {
-webkit-transform: rotatey(0);
transform: rotatey(0);
}
to {
-webkit-transform: rotatey(360deg);
transform: rotatey(360deg);
}
}
@-webkit-keyframes flip-out {
from {
-webkit-transform: rotateX(0);
transform: rotateX(0);
}
to {
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
}
}
@keyframes flip-out {
from {
-webkit-transform: rotateX(0);
transform: rotateX(0);
}
to {
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
}
}
@-webkit-keyframes rise2 {
0% {
opacity: 1;
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
}
100% {
opacity: 1;
-webkit-transform: rotateX(0);
transform: rotateX(0);
}
}
@keyframes rise2 {
0% {
opacity: 1;
-webkit-transform: rotateX(90deg);
transform: rotateX(90deg);
}
100% {
opacity: 1;
-webkit-transform: rotateX(0);
transform: rotateX(0);
}
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment