227 lines
5.9 KiB
SCSS
Executable File
227 lines
5.9 KiB
SCSS
Executable File
// --------------------------------------------------
|
|
// Clearfix
|
|
// --------------------------------------------------
|
|
|
|
// eg: @include clearfix;
|
|
@mixin clearfix() {
|
|
&:before,
|
|
&:after {
|
|
content: " ";
|
|
display: table;
|
|
}
|
|
|
|
&:after {
|
|
clear: both;
|
|
}
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Font
|
|
// --------------------------------------------------
|
|
|
|
// eg: @include font($size: 14px, $style: italic, $weight: 400, $variant: normal, $family: $font-family-base);
|
|
@mixin font($size: null, $style: null, $weight: null, $variant: null, $family: null) {
|
|
font-size: $size;
|
|
font-style: $style;
|
|
font-weight: $weight;
|
|
font-variant: $variant;
|
|
font-family: $family;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Positioning
|
|
// --------------------------------------------------
|
|
|
|
// eg: @include position(absolute, $top: 5px, $left: 5px);
|
|
@mixin position($position, $top: null, $right: null, $bottom: null, $left: null) {
|
|
position: $position;
|
|
top: $top;
|
|
left: $left;
|
|
right: $right;
|
|
bottom: $bottom;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Sizing
|
|
// --------------------------------------------------
|
|
|
|
// eg 2: @include size(100%, 1px); */
|
|
@mixin size($width, $height: $width) {
|
|
width: $width;
|
|
height: $height;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Theme Button
|
|
// --------------------------------------------------
|
|
|
|
// eg: @include button();
|
|
@mixin button() {
|
|
position: relative;
|
|
display: inline-block;
|
|
line-height: 1.4;
|
|
text-align: center;
|
|
background-image: none;
|
|
border-style: solid;
|
|
white-space: nowrap;
|
|
vertical-align: middle;
|
|
-ms-touch-action: manipulation;
|
|
touch-action: manipulation;
|
|
cursor: pointer;
|
|
@include user-select(none);
|
|
|
|
&:focus,
|
|
&:active:focus,
|
|
&.active:focus,
|
|
&.focus,
|
|
&:active.focus,
|
|
&.active.focus {
|
|
outline: none;
|
|
}
|
|
|
|
&:hover {
|
|
@include cubic-transition($delay: 0, $duration: 300ms, $property: (all));
|
|
}
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
text-decoration: none;
|
|
}
|
|
|
|
&:active,
|
|
&.active {
|
|
background-image: none;
|
|
outline: 0;
|
|
}
|
|
|
|
&.disabled,
|
|
&[disabled],
|
|
fieldset[disabled] & {
|
|
cursor: not-allowed;
|
|
box-shadow: none;
|
|
opacity: .65;
|
|
pointer-events: none;
|
|
}
|
|
}
|
|
|
|
// eg: @include button-color($color-base, $color-white, transparent, $color-base, 1px, $color-base, $color-base);
|
|
@mixin button-color($btn-color, $btn-color-hover, $btn-bg-color, $btn-bg-hover-color, $btn-border-width, $btn-border-color, $btn-border-hover-color) {
|
|
color: $btn-color;
|
|
background: $btn-bg-color;
|
|
border-color: $btn-border-color;
|
|
border-width: $btn-border-width;
|
|
|
|
&:hover,
|
|
&:focus,
|
|
&.focus {
|
|
color: $btn-color-hover;
|
|
background: $btn-bg-hover-color;
|
|
border-color: $btn-border-hover-color;
|
|
}
|
|
}
|
|
|
|
// eg: @include button-size($font-size-14, $font-weight-400, 6px 12px);
|
|
@mixin button-size($btn-font-size, $btn-fweight, $btn-padding) {
|
|
font-size: $btn-font-size;
|
|
font-weight: $btn-fweight;
|
|
padding: $btn-padding;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// User Select
|
|
// --------------------------------------------------
|
|
|
|
/* eg: @include user-select(none); */
|
|
@mixin user-select($user-select) {
|
|
-webkit-user-select: ($user-select);
|
|
-moz-user-select: ($user-select);
|
|
-ms-user-select: ($user-select);
|
|
user-select: ($user-select);
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Placeholder
|
|
// --------------------------------------------------
|
|
|
|
// eg: @include placeholder($color-base);
|
|
@mixin placeholder($color: $input-color-placeholder) {
|
|
&::-moz-placeholder { color: $color; } // Firefox 19+
|
|
&:-ms-input-placeholder { color: $color; } // Internet Egplorer 10+
|
|
&::-webkit-input-placeholder { color: $color; } // Safari and Chrome
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// RGBA Background Opacity
|
|
// --------------------------------------------------
|
|
|
|
// eg: @include bg-opacity($color-dark, .2);
|
|
@mixin bg-opacity($color, $opacity: 0.3) {
|
|
background: rgba($color, $opacity);
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Cubic Bezier Transition
|
|
// --------------------------------------------------
|
|
|
|
// eg: @include cubic-transition($delay: 0, $duration: 300ms, $property: (all));
|
|
@mixin cubic-transition($delay, $duration, $property) {
|
|
transition: {
|
|
duration: $duration;
|
|
property: $property;
|
|
timing-function: cubic-bezier(.7,1,.7,1);
|
|
}
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Rotate
|
|
// --------------------------------------------------
|
|
|
|
/* eg: @include rotate(45deg); */
|
|
@mixin rotate($degrees) {
|
|
-webkit-transform: rotate($degrees);
|
|
-moz-transform: rotate($degrees);
|
|
transform: rotate($degrees);
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Translate 3D Transition
|
|
// --------------------------------------------------
|
|
|
|
/* eg: @include translate3d(0,0,0); */
|
|
@mixin translate3d($x, $y, $z) {
|
|
-webkit-transform: translate3d($x, $y, $z);
|
|
-moz-transform: translate3d($x, $y, $z);
|
|
transform: translate3d($x, $y, $z);
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Border Radius
|
|
// --------------------------------------------------
|
|
|
|
/* eg: @include border-radius(3px); */
|
|
@mixin border-radius($radius) {
|
|
border-radius: $radius;
|
|
}
|
|
|
|
|
|
// --------------------------------------------------
|
|
// Visibility
|
|
// --------------------------------------------------
|
|
|
|
/* eg: @include visibility-backface(hidden); */
|
|
@mixin visibility-backface($visibility) {
|
|
-webkit-backface-visibility: $visibility;
|
|
backface-visibility: $visibility;
|
|
} |