Japanese Emblems CSS
by Marc Malignan
HTML
<div id="crests">
<div class="crest-holder">
<div class="crest akiyama">
<div class="wrap">
<div class="diamond"></div>
<div class="diamond"></div>
<div class="diamond"></div>
</div>
</div>
<div class="crest-name">Akiyama</div>
</div>
<div class="crest-holder">
<div class="crest amako">
<div class="wrap">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
</div>
<div class="crest-name">Amako</div>
</div>
<div class="crest-holder">
<div class="crest amakusa">
<div class="wrap">
<div class="triangles">
<div class="double-triangle"></div>
<div class="double-triangle"></div>
<div class="double-triangle"></div>
<div class="double-triangle"></div>
<div class="double-triangle"></div>
<div class="double-triangle"></div>
</div>
<div class="sphere"></div>
</div>
</div>
<div class="crest-name">Amakusa</div>
</div>
<div class="crest-holder">
<div class="crest aso">
<div class="wrap">
<div class="feather">
<div class="feather-contain">
<div class="feather-shade"></div>
<div class="feather-shade"></div>
<div class="feather-shade"></div>
</div>
<div class="feather-line"></div>
</div>
<div class="feather">
<div class="feather-contain">
<div class="feather-shade"></div>
<div...
SCSS
/* ----- SASS VARIABLES ----- */
$crest-color: black;
$crest-bg: white;
/* ----- MIXINS ----- */
@mixin size($w, $h:null) {
width: $w;
@if $h==null {
height: $w;
}
@else {
height: $h;
}
}
@mixin transform-origin($origin) {
-webkit-transform-origin: $origin;
-moz-transform-origin: $origin;
-ms-transform-origin: $origin;
transform-origin: $origin;
}
@mixin rotate($deg) {
-webkit-transform: rotate($deg);
-moz-transform: rotate($deg);
-ms-transform: rotate($deg);
transform: rotate($deg);
}
@mixin skew($x, $y) {
-webkit-transform: skew($x, $y);
-moz-transform: skew($x, $y);
-ms-transform: skew($x, $y);
transform: skew($x, $y);
}
@mixin rotateSkew($deg, $x, $y) {
-webkit-transform: rotate($deg) skew($x, $y);
-moz-transform: rotate($deg) skew($x, $y);
-ms-transform: rotate($deg) skew($x, $y);
transform: rotate($deg) skew($x, $y);
}
/* ----- LAYOUT ----- */
body {
width: 600px;
margin: 20px auto;
background: #eee;
font-family: 'Roboto', sans-serif;
text-align: center;
}
#crests {
margin: 0 auto 20px;
}
#crests:after {
content: '';
display: block;
clear: both;
}
.crest-holder {
float: left;
margin: 10px;
text-align: center;
}
.crest {
position: relative;
background: $crest-bg;
@include size(100px);
border-radius: 4px;
box-sizing: border-box;
box-shadow: 0 2px 4px rgba(0,0,0,.3);
}
.crest:after {
content: '';
display: block;
clear: both;
}
.crest-name {
line-height: 40px;
font-family: 'Oswald', sans-serif;
}
/* ----- CREST BASIC SHAPES ----- */
.crest .circle, .crest .sphere, .crest .comma {
border-radius: 50%;
}
/* ----- AKIYAMA ----- */
.crest.akiyama {
padding: 22px;
}
.crest.akiyama .diamond {
position: relative;
margin: 0 auto;
background: $crest-color;
@include rotateSkew(-45deg, 14deg, 14deg);
}
.crest.akiyama .diamond:nth-child(1) {
@include size(20px);
margin-bottom:...
JavaScript
// JAPANESE EMBLEMS CSS //