Employs the inline sibling trick to achieve vertical centering. Updated to make use of trig to auto-calculate values.
Forked from Oliver Turner's Pen Isometric projection using skew.
| <aside> | |
| <header> | |
| <p> | |
| βedrock <br>Eleven <br> | |
| Compiled <br>& Mixed <br> | |
| John <br>Digweed | |
| </p> | |
| <p> | |
| Out now <br> | |
| 3xCD/DD <br> | |
| 6x12" Vinyl | |
| </p> | |
| </header> | |
| </aside> | |
| <i class="inliner"></i> | |
| <div class="inlined cols"> | |
| <div class="col"> | |
| <div class="cube1"> | |
| <div class="face top"></div> | |
| <div class="face left"></div> | |
| <div class="face right"></div> | |
| </div> | |
| <div class="cube2"> | |
| <div class="face left"></div> | |
| <div class="face right"></div> | |
| </div> | |
| <div class="cube3"> | |
| <div class="face left"></div> | |
| <div class="face right"></div> | |
| </div> | |
| </div> | |
| <div class="col"> | |
| <div class="cube1"> | |
| <div class="face left"></div> | |
| </div> | |
| <div class="cube2"> | |
| <div class="face left"></div> | |
| </div> | |
| <div class="cube3"> | |
| <div class="face left"></div> | |
| </div> | |
| </div> | |
| <div class="cube4"> | |
| <div class="face top"></div> | |
| </div> | |
| </div> |
Employs the inline sibling trick to achieve vertical centering. Updated to make use of trig to auto-calculate values.
Forked from Oliver Turner's Pen Isometric projection using skew.
| @import "compass/css3"; | |
| * { | |
| @include box-sizing(border-box); | |
| } | |
| html, body { | |
| height: 100%; | |
| background: #022238; | |
| } | |
| body{ | |
| text-align: center; | |
| width: 800px; | |
| margin: auto; | |
| } | |
| aside { | |
| position: absolute; | |
| text-align: left; | |
| color: white; | |
| font-family: Helvetica, Arial, sans; | |
| p { | |
| margin: 10px; | |
| line-height: 14px; | |
| } | |
| } | |
| .inliner { | |
| height: 100%; | |
| } | |
| .inliner, | |
| .inliner + .inlined { | |
| display : inline-block; | |
| vertical-align : middle; | |
| } | |
| $tw : 100px; | |
| $th : $tw; | |
| $skew : 30deg; | |
| $skew_v: $skew * 2; | |
| $cos : cos($skew); | |
| $hyp : sqrt(pow($tw, 2) + pow($th, 2)); | |
| @mixin cubify($tint){ | |
| .top { background: $tint; } | |
| .left { background: darken($tint, 15%); } | |
| .right { background: darken($tint, 30%); } | |
| } | |
| %cube { | |
| position: relative; | |
| width : $tw * 1.68; | |
| height : $th; | |
| .face { | |
| @include transform-origin(0, 0); | |
| position: absolute; | |
| width : $tw; | |
| height : $th; | |
| } | |
| .top { | |
| @include transform( | |
| rotate($skew * -1) | |
| skew($skew) | |
| scaleY($cos) | |
| ); | |
| } | |
| .left { | |
| @include transform( | |
| rotate($skew) | |
| skew($skew) | |
| ); | |
| } | |
| .right { | |
| @include transform( | |
| rotate($skew * -1) | |
| skew($skew * -1) | |
| ); | |
| left: floor($cos * $tw); | |
| top : floor(cos($skew_v) * $th); | |
| } | |
| } | |
| .cols { | |
| display: inline-block; | |
| } | |
| .col { | |
| display: inline-block; | |
| } | |
| .cube1, | |
| .cube2, | |
| .cube3, | |
| .cube4 { | |
| @extend %cube; | |
| } | |
| .cube1 { @include cubify(#d9d9d9); } | |
| .cube2 { @include cubify(#62ccea); } | |
| .cube3 { @include cubify(#fdeb8d); } | |
| .cube4 { | |
| @include cubify(#f7924a); | |
| left: floor($cos * $tw); | |
| top : $cos * ($hyp / 2); | |
| } |