2017-08-23 10:07:14 +00:00
|
|
|
|
@import "function";
|
|
|
|
|
@import "../common/var";
|
|
|
|
|
|
2017-10-17 09:01:55 +00:00
|
|
|
|
/* Break-points
|
2017-08-23 10:07:14 +00:00
|
|
|
|
-------------------------- */
|
2017-10-17 09:01:55 +00:00
|
|
|
|
@mixin res($key, $map: $--breakpoints) {
|
|
|
|
|
// 循环断点Map,如果存在则返回
|
|
|
|
|
@if map-has-key($map, $key) {
|
|
|
|
|
@media only screen and #{inspect(map-get($map, $key))} {
|
|
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
} @else {
|
|
|
|
|
@warn "Undefeined points: `#{$map}`";
|
|
|
|
|
}
|
2017-08-23 10:07:14 +00:00
|
|
|
|
}
|
|
|
|
|
|
2017-09-14 03:34:13 +00:00
|
|
|
|
/* Scrollbar
|
|
|
|
|
-------------------------- */
|
|
|
|
|
@mixin scroll-bar {
|
|
|
|
|
$--scrollbar-thumb-background: #b4bccc;
|
2017-09-22 06:30:44 +00:00
|
|
|
|
$--scrollbar-track-background: #fff;
|
2017-09-14 03:34:13 +00:00
|
|
|
|
|
|
|
|
|
&::-webkit-scrollbar {
|
|
|
|
|
z-index: 11;
|
|
|
|
|
width: 6px;
|
2017-08-23 10:07:14 +00:00
|
|
|
|
|
2017-09-14 03:34:13 +00:00
|
|
|
|
&:horizontal {
|
|
|
|
|
height: 6px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-thumb {
|
|
|
|
|
border-radius: 5px;
|
2017-09-22 06:30:44 +00:00
|
|
|
|
width: 6px;
|
2017-09-14 03:34:13 +00:00
|
|
|
|
background: $--scrollbar-thumb-background;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-corner {
|
|
|
|
|
background: $--scrollbar-track-background;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&-track {
|
|
|
|
|
background: $--scrollbar-track-background;
|
2017-09-22 06:30:44 +00:00
|
|
|
|
|
|
|
|
|
&-piece {
|
|
|
|
|
background: $--scrollbar-track-background;
|
|
|
|
|
width: 6px;
|
|
|
|
|
}
|
2017-09-14 03:34:13 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Placeholder
|
2017-08-23 10:07:14 +00:00
|
|
|
|
-------------------------- */
|
|
|
|
|
@mixin placeholder {
|
|
|
|
|
&::-webkit-input-placeholder {
|
|
|
|
|
@content
|
|
|
|
|
}
|
2017-09-14 03:34:13 +00:00
|
|
|
|
|
2017-08-23 10:07:14 +00:00
|
|
|
|
&::-moz-placeholder {
|
|
|
|
|
@content
|
|
|
|
|
}
|
2017-09-14 03:34:13 +00:00
|
|
|
|
|
2017-08-23 10:07:14 +00:00
|
|
|
|
&:-ms-input-placeholder {
|
|
|
|
|
@content
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* BEM
|
|
|
|
|
-------------------------- */
|
|
|
|
|
@mixin b($block) {
|
|
|
|
|
$B: $namespace+'-'+$block !global;
|
|
|
|
|
|
|
|
|
|
.#{$B} {
|
|
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin e($element) {
|
|
|
|
|
$E: $element !global;
|
|
|
|
|
$selector: &;
|
|
|
|
|
$currentSelector: "";
|
|
|
|
|
@each $unit in $element {
|
|
|
|
|
$currentSelector: #{$currentSelector + "." + $B + $element-separator + $unit + ","};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@if hitAllSpecialNestRule($selector) {
|
|
|
|
|
@at-root {
|
|
|
|
|
#{$selector} {
|
|
|
|
|
#{$currentSelector} {
|
|
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} @else {
|
|
|
|
|
@at-root {
|
|
|
|
|
#{$currentSelector} {
|
|
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin m($modifier) {
|
|
|
|
|
$selector: &;
|
|
|
|
|
$currentSelector: "";
|
|
|
|
|
@each $unit in $modifier {
|
|
|
|
|
$currentSelector: #{$currentSelector + & + $modifier-separator + $unit + ","};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
|
#{$currentSelector} {
|
|
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin configurable-m($modifier, $E-flag: false) {
|
|
|
|
|
$selector: &;
|
|
|
|
|
$interpolation: '';
|
|
|
|
|
|
|
|
|
|
@if $E-flag {
|
|
|
|
|
$interpolation: $element-separator + $E-flag;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
|
#{$selector} {
|
|
|
|
|
.#{$B+$interpolation+$modifier-separator+$modifier} {
|
|
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin spec-selector($specSelector: '', $element: $E, $modifier: false, $block: $B) {
|
|
|
|
|
$modifierCombo: '';
|
|
|
|
|
|
|
|
|
|
@if $modifier {
|
|
|
|
|
$modifierCombo: $modifier-separator + $modifier;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
|
#{&}#{$specSelector}.#{$block+$element-separator+$element+$modifierCombo} {
|
|
|
|
|
@content
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin meb($modifier: false, $element: $E, $block: $B) {
|
|
|
|
|
$selector: &;
|
|
|
|
|
$modifierCombo: '';
|
|
|
|
|
|
|
|
|
|
@if $modifier {
|
|
|
|
|
$modifierCombo: $modifier-separator + $modifier;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@at-root {
|
|
|
|
|
#{$selector} {
|
|
|
|
|
.#{$block+$element-separator+$element+$modifierCombo} {
|
|
|
|
|
@content
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin when($state) {
|
|
|
|
|
@at-root {
|
2017-10-19 07:53:36 +00:00
|
|
|
|
&.#{$state-prefix + $state} {
|
2017-08-23 10:07:14 +00:00
|
|
|
|
@content;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin extend-rule($name) {
|
|
|
|
|
@extend #{'%shared-'+$name};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin share-rule($name) {
|
|
|
|
|
$rule-name: '%shared-'+$name;
|
|
|
|
|
|
|
|
|
|
@at-root #{$rule-name} {
|
|
|
|
|
@content
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@mixin pseudo($pseudo) {
|
|
|
|
|
@at-root #{&}#{':#{$pseudo}'} {
|
|
|
|
|
@content
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|