MINI Sh3ll
//
// Name: Material Shadows
// Description: Paper shadows of material design.
// Version: 2.0.1
//
// Author: Denis Malinochkin
// Git: https://github.com/mrmlnc/material-shadows
//
// twitter: @mrmlnc
//
// ------------------------------------
// Mixins
// ------------------------------------
// Generator for top shadow
@function z-depth-top($depth: 1) {
$color: .12, .19, .19, .21, .22;
$offset-y: 2px, 6px, 17px, 25px, 40px;
$blur: 10px, 20px, 50px, 55px, 77px;
@return 0 nth($offset-y, $depth) nth($blur, $depth) rgba(0, 0, 0, nth($color, $depth));
}
@mixin z-depth-top($depth: 1) {
box-shadow: z-depth-top($depth);
}
// Generator for bottom shadow
@function z-depth-bottom($depth: 1) {
$color: .16, .2, .24, .22, .2;
$offset-y: 2px, 8px, 12px, 16px, 27px;
$blur: 5px, 17px, 15px, 28px, 24px;
@return 0 nth($offset-y, $depth) nth($blur, $depth) rgba(0, 0, 0, nth($color, $depth));
}
@mixin z-depth-bottom($depth: 1) {
box-shadow: z-depth-bottom($depth);
}
// Generator for top and bottom shadow
@mixin z-depth($depth: 1) {
box-shadow: z-depth-bottom($depth), z-depth-top($depth);
}
// Generator animation hover and focus effect
@mixin z-depth-animation($depth, $orientation: full) {
&:hover,
&:focus {
@if $orientation == top {
@include z-depth-top($depth);
}
@else if $orientation == bottom {
@include z-depth-bottom($depth);
}
@else {
@include z-depth($depth);
}
}
}
// Classes
// ------------------------------------
@mixin z-depth-class($animation: true, $time: .28s, $function: cubic-bezier(.4, 0, .2, 1)) {
@for $i from 1 to 6 {
&-#{$i} {
@include z-depth($i);
&-top {
@include z-depth-top($i);
}
&-bottom {
@include z-depth-bottom($i);
}
}
// z-depth-animation
&-animation {
&:hover {
.z-depth-1,
.z-depth-2,
.z-depth-3,
.z-depth-4,
.z-depth-5 {
transition: box-shadow $time $function;
}
}
}
}
}
OHA YOOOO