Skip to content

Instantly share code, notes, and snippets.

@cange
Created November 19, 2017 12:10
Show Gist options
  • Save cange/1b696812557df79566a349606dca8442 to your computer and use it in GitHub Desktop.
Save cange/1b696812557df79566a349606dca8442 to your computer and use it in GitHub Desktop.
Mapping of the Material Design Shadow suggestions - https://material.io/guidelines/resources/shadows.html
/* rem unit setup based on
:root {
font-size: 10px;
}
*/
/// @example
/// .foo { box-shadow: material-shadow(dp3); }
@function material-shadow($elevation) {
$umbra: rgba(black, .14);
$penumbra: rgba(black, .12);
$ambient: rgba(black, .2);
$elevations: (
dp1: (0 0 .3rem $umbra, 0 .2rem .2rem $penumbra, 0 .1rem .2rem $ambient),
dp2: (0 0 .4rem $umbra, 0 .3rem .4rem $penumbra, 0 .1rem .5rem $ambient),
dp3: (0 .3rem .3rem $umbra, 0 .3rem .4rem $penumbra, 0 .1rem .8rem $ambient),
dp4: (0 .2rem .4rem $umbra, 0 .4rem .5rem $penumbra, 0 .1rem 1rem $ambient),
dp6: (0 .6rem 1rem $umbra, 0 .1rem 1.8rem $penumbra, 0 .3rem .5rem $ambient),
dp8: (0 .8rem 1rem .1rem $umbra, 0 .3rem 1.4rem .3rem $penumbra, 0 .4rem 1.5rem $ambient),
dp9: (0 .9rem 1.2rem .1rem $umbra, 0 .3rem 1.6rem .2rem $penumbra, 0 .5rem .6rem $ambient),
dp12: (0 1.2rem 1.7rem .2rem $umbra, 0 .5rem 2.2rem .4rem $penumbra, 0 .7rem .8rem $ambient),
dp16: (0 1.6rem 2.4rem .2rem $umbra, 0 .6rem 3rem .5rem $penumbra, 0 .8rem 1rem $ambient),
dp24: (0 2.4rem 3.8rem .3rem $umbra, 0 .9rem 4.6rem .8rem $penumbra, 0 1.1rem 1.5rem $ambient)
);
@return map-get($elevations, $elevation);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment