BBC Logo Blocks
Scaleable animation built with LESS
<div id="blocks" class="animate">
<div id="blocks" class="animate">
<div><div></div></div>
<div><div></div></div>
<div><div></div></div>
</div>
: 100px;
100px;:
#blocks {
//demo
display: table;
margin: .5em auto;
width: * 3;
//demo
font-size: ;
font-family: "Gill Sans", "Gill Sans MT", sans-serif;
position: relative;
> div {
.holders();
perspective: 5em;
> div {
.holders();
.transform-style(preserve-3d);
.transform(translateZ(-0.5em) rotateY(-90deg));
&:before {
.base-face();
content: '';
.transform(rotateY(0deg) translateZ(0.5em));
}
&:after {
content:'B';
.base-face();
background-color: #000;
.transform(rotateY(90deg) translateZ(0.5em));
}
}
}
&.animate {
:nth-child(1) > div {
.animation(turn 1s infinite alternate);
}
:nth-child(2) > div {
.animation(turn 1s 250ms infinite alternate);
}
:nth-child(3) > div {
.animation(turn 1s 500ms infinite alternate);
}
}
:nth-child(1) {
left: 0;
z-index: 3;
}
:nth-child(2) {
left: 1.1em;
z-index: 2;
}
:nth-child(3) {
left: 2.2em;
z-index: 1;
div:after {
content:'C'
}
}
}
//Mixins
.base-face() {
background-color: #CCCCCC;
position: absolute;
text-align: center;
line-height: 100%;
font-size: 100%;
display: block;
height: 100%;
width: 100%;
color: #FFFFFF;
}
.holders() {
width: 1em;
height: 1em;
position: absolute;
}
.animation( ) {
-webkit-animation: ;
-moz-animation: ;
-o-animation: ;
-ms-transition: ;
animation: ;
}
.opacity( ) {
100;: *
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=@{iefactor})";
filter: ~"alpha(opacity=(@{iefactor}))";
opacity: ;
}
.transform( ) {
-webkit-transform: ;
-moz-transform: ;
-ms-transform: ;
-o-transform: ;
transform: ;
}
.transform-style( ) {
-webkit-transform-style: ;
-moz-transform-style: ;
-ms-transform-style: ;
-o-transform-style: ;
transform-style: ;
}
//Animations
turn {
0% {.opacity(0);.transform(translateZ(-0.5em) rotateY(0deg));}
100% {.opacity(1);.transform(translateZ(-0.5em) rotateY(-90deg));}
}
turn {
0% {.opacity(0);.transform(translateZ(-0.5em) rotateY(0deg));}
100% {.opacity(1);.transform(translateZ(-0.5em) rotateY(-90deg));}
}
turn {
0% {.opacity(0);.transform(translateZ(-0.5em) rotateY(0deg));}
100% {.opacity(1);.transform(translateZ(-0.5em) rotateY(-90deg));}
}
turn {
0% {.opacity(0);.transform(translateZ(-0.5em) rotateY(0deg));}
100% {.opacity(1);.transform(translateZ(-0.5em) rotateY(-90deg));}
}
turn {
0% {.opacity(0);.transform(translateZ(-0.5em) rotateY(0deg));}
100% {.opacity(1);.transform(translateZ(-0.5em) rotateY(-90deg));}
}