mixins-base/_mixins.sass

108 lines
2.5 KiB
Sass
Raw Normal View History

2020-04-15 08:59:21 +02:00
/*
2020-04-15 12:53:19 +02:00
* Fixes an element on the page to take up all the space or only part of it.
2020-04-15 08:59:21 +02:00
* $side: all (default), top, bottom
2020-04-15 12:53:19 +02:00
*
* Examples: @include pin() , @include pin('top'), @include pin('bottom', 2500)
2020-04-15 08:59:21 +02:00
*/
2020-04-15 12:53:19 +02:00
@mixin pin($side: all, $z-index: 1000)
2020-04-12 17:38:51 +02:00
position: fixed
left: 0
right: 0
2020-04-15 12:53:19 +02:00
z-index: $z-index
2020-04-15 08:59:21 +02:00
@if $side == 'all'
top: 0
bottom: 0
@else if $side == 'top'
top: 0
@else if $side == 'bottom'
bottom: 0
2020-04-14 21:10:44 +02:00
2020-04-17 20:32:46 +02:00
/*
* Add a border through the shadows avoiding extra space.
* $size: unit
*
* Examples: @include sizeSquare(4rem) , @include sizeSquare(10px)
*/
2020-04-15 09:18:54 +02:00
@mixin sizeSquare($size)
2020-04-14 22:31:13 +02:00
width: $size
height: $size
2020-05-23 19:45:22 +02:00
/*
* Remove initial styles <ul>
*
* Examples: @include ulReset()
*/
@mixin ulReset()
list-style: initial
padding: initial
margin: initial
2020-04-14 22:31:13 +02:00
2020-04-14 21:50:39 +02:00
/*
2020-04-17 20:32:46 +02:00
* Add a border through the shadows avoiding extra space.
2020-05-23 19:45:22 +02:00
* $size: 1px (default), unit
* $color: black (default), color
2020-04-15 08:59:21 +02:00
* $side: all (default), top, right, bottom, left
2020-05-23 19:45:22 +02:00
*
* Examples: @include border(), @include border(2px, dashed), @include border(2px, solid, red)
2020-04-14 21:50:39 +02:00
*/
@mixin border($size: 1px, $color: black, $side: all)
border: 0
-webkit-appearance: none
@if $side == 'all'
box-shadow: inset 0 0 0 $size $color
@else if $side == 'top'
box-shadow: inset 0 $size 0 0 $color
@else if $side == 'right'
box-shadow: inset -#{$size} 0 0 0 $color
@else if $side == 'left'
box-shadow: inset $size 0 0 0 $color
@else if $side == 'bottom'
box-shadow: inset 0 -#{$size} 0 0 $color
2020-05-23 19:45:22 +02:00
/*
* Add a rotation animation.
* $speed: 1s (default), seconds
*
* Examples: @include animationRotate(2s), @include animationRotate(0.5s)
*/
2020-04-14 21:10:44 +02:00
@mixin animationRotate($speed: 1s)
2020-04-14 22:31:13 +02:00
$id: unique-id()
@keyframes#{$id}
2020-04-14 21:10:44 +02:00
from
transform: rotate(0)
to
transform: rotate(360deg)
animation:
2020-04-15 08:56:06 +02:00
name: $id
2020-04-14 21:10:44 +02:00
duration: $speed
iteration-count: infinite
timing-function: linear
2020-04-14 21:31:10 +02:00
2020-04-14 22:12:12 +02:00
@mixin animationPulse($speed: 1s, $size: 1rem, $color: black, $iteration: infinite)
2020-04-14 22:31:13 +02:00
$id: unique-id()
@keyframes #{$id}
2020-04-14 21:31:10 +02:00
from
2020-04-14 21:31:30 +02:00
box-shadow: 0 0 0 0 $color
2020-04-14 21:31:10 +02:00
to
2020-04-14 21:31:30 +02:00
box-shadow: 0 0 0 $size transparentize($color, 1)
2020-04-14 21:31:10 +02:00
animation:
2020-04-14 22:31:13 +02:00
name: $id
2020-04-14 21:31:10 +02:00
duration: $speed
2020-04-14 22:12:12 +02:00
iteration-count: $iteration
2020-04-14 21:31:10 +02:00
timing-function: linear
2020-04-17 20:36:55 +02:00
@mixin animationOpacity($speed: 1s, $iteration: infinite)
$id: unique-id()
@keyframes #{$id}
from
opacity: 0
to
opacity: 1
animation:
name: $id
duration: $speed
iteration-count: $iteration
timing-function: linear
2020-04-17 20:38:55 +02:00
direction: alternate