355 lines
7.0 KiB
SCSS
355 lines
7.0 KiB
SCSS
|
body {
|
||
|
color: var(--text-a);
|
||
|
background-color: var(--ui-BG-1) !important;
|
||
|
font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans',
|
||
|
sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
||
|
}
|
||
|
|
||
|
/* ==================
|
||
|
初始化
|
||
|
==================== */
|
||
|
.ui-link {
|
||
|
cursor: pointer;
|
||
|
}
|
||
|
navigator {
|
||
|
display: inline-flex;
|
||
|
}
|
||
|
navigator.navigator-hover {
|
||
|
background-color: inherit;
|
||
|
transform: translate(1rpx, 1rpx);
|
||
|
// opacity: 1;
|
||
|
}
|
||
|
|
||
|
/* ==================
|
||
|
辅助类
|
||
|
==================== */
|
||
|
.none {
|
||
|
display: none !important;
|
||
|
}
|
||
|
.inline {
|
||
|
display: inline !important;
|
||
|
}
|
||
|
.inline-block {
|
||
|
display: inline-block !important;
|
||
|
}
|
||
|
.block {
|
||
|
display: block !important;
|
||
|
}
|
||
|
.touch-none {
|
||
|
pointer-events: none;
|
||
|
}
|
||
|
.touch-all {
|
||
|
pointer-events: all;
|
||
|
}
|
||
|
.flex {
|
||
|
display: flex !important;
|
||
|
}
|
||
|
.inline-flex {
|
||
|
display: inline-flex !important;
|
||
|
}
|
||
|
.w-100 {
|
||
|
width: 100%;
|
||
|
}
|
||
|
/* -- 浮动 -- */
|
||
|
.cf::after,
|
||
|
.cf::before {
|
||
|
content: '';
|
||
|
display: table;
|
||
|
}
|
||
|
.cf::after {
|
||
|
clear: both;
|
||
|
}
|
||
|
.fl {
|
||
|
float: left;
|
||
|
}
|
||
|
.fr {
|
||
|
float: right;
|
||
|
}
|
||
|
.position-center {
|
||
|
@include position-center;
|
||
|
}
|
||
|
.position-relative {
|
||
|
position: relative;
|
||
|
}
|
||
|
/* -- 工具类 -- */
|
||
|
@function negativify-map($map) {
|
||
|
$result: ();
|
||
|
@each $key, $value in $map {
|
||
|
@if $key != 0 {
|
||
|
$result: map-merge($result, ('n' + $key: (-$value)));
|
||
|
}
|
||
|
}
|
||
|
@return $result;
|
||
|
}
|
||
|
|
||
|
$utilities: () !default;
|
||
|
$utilities: map-merge(
|
||
|
(
|
||
|
'margin': (
|
||
|
responsive: true,
|
||
|
property: margin,
|
||
|
class: m,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$spacers,
|
||
|
(
|
||
|
auto: auto,
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'margin-x': (
|
||
|
property: margin-right margin-left,
|
||
|
class: mx,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$spacers,
|
||
|
(
|
||
|
auto: auto,
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'margin-y': (
|
||
|
property: margin-top margin-bottom,
|
||
|
class: my,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$spacers,
|
||
|
(
|
||
|
auto: auto,
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'margin-top': (
|
||
|
property: margin-top,
|
||
|
class: mt,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$spacers,
|
||
|
(
|
||
|
auto: auto,
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'margin-right': (
|
||
|
property: margin-right,
|
||
|
class: mr,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$spacers,
|
||
|
(
|
||
|
auto: auto,
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'margin-bottom': (
|
||
|
property: margin-bottom,
|
||
|
class: mb,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$spacers,
|
||
|
(
|
||
|
auto: auto,
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'margin-left': (
|
||
|
property: margin-left,
|
||
|
class: ml,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$spacers,
|
||
|
(
|
||
|
auto: auto,
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'padding': (
|
||
|
responsive: true,
|
||
|
property: padding,
|
||
|
class: p,
|
||
|
values: $spacers,
|
||
|
),
|
||
|
'padding-x': (
|
||
|
property: padding-right padding-left,
|
||
|
class: px,
|
||
|
values: $spacers,
|
||
|
),
|
||
|
'padding-y': (
|
||
|
property: padding-top padding-bottom,
|
||
|
class: py,
|
||
|
values: $spacers,
|
||
|
),
|
||
|
'padding-top': (
|
||
|
property: padding-top,
|
||
|
class: pt,
|
||
|
values: $spacers,
|
||
|
),
|
||
|
'padding-right': (
|
||
|
property: padding-right,
|
||
|
class: pr,
|
||
|
values: $spacers,
|
||
|
),
|
||
|
'padding-bottom': (
|
||
|
property: padding-bottom,
|
||
|
class: pb,
|
||
|
values: $spacers,
|
||
|
),
|
||
|
'padding-left': (
|
||
|
property: padding-left,
|
||
|
class: pl,
|
||
|
values: $spacers,
|
||
|
),
|
||
|
'font-weight': (
|
||
|
property: font-weight,
|
||
|
class: text,
|
||
|
values: (
|
||
|
light: $font-weight-light,
|
||
|
lighter: $font-weight-lighter,
|
||
|
normal: $font-weight-normal,
|
||
|
bold: $font-weight-bold,
|
||
|
bolder: $font-weight-bolder,
|
||
|
),
|
||
|
),
|
||
|
'text-align': (
|
||
|
property: text-align,
|
||
|
class: text,
|
||
|
values: left right center,
|
||
|
),
|
||
|
'font-color': (
|
||
|
property: color,
|
||
|
class: text,
|
||
|
values:
|
||
|
map-merge(
|
||
|
$colors,
|
||
|
map-merge(
|
||
|
$grays,
|
||
|
map-merge(
|
||
|
$darks,
|
||
|
(
|
||
|
'reset': inherit,
|
||
|
)
|
||
|
)
|
||
|
)
|
||
|
),
|
||
|
),
|
||
|
'line-height': (
|
||
|
property: line-height,
|
||
|
class: lh,
|
||
|
values: (
|
||
|
1: 1,
|
||
|
sm: $line-height-sm,
|
||
|
base: $line-height-base,
|
||
|
lg: $line-height-lg,
|
||
|
),
|
||
|
),
|
||
|
'white-space': (
|
||
|
property: white-space,
|
||
|
class: text,
|
||
|
values: (
|
||
|
nowrap: nowrap,
|
||
|
),
|
||
|
),
|
||
|
'radius': (
|
||
|
property: border-radius,
|
||
|
class: radius,
|
||
|
values: (
|
||
|
null: $radius,
|
||
|
sm: $radius-sm,
|
||
|
lg: $radius-lg,
|
||
|
0: 0,
|
||
|
),
|
||
|
),
|
||
|
'round': (
|
||
|
property: border-radius,
|
||
|
class: round,
|
||
|
values: (
|
||
|
null: $round-pill,
|
||
|
circle: 50%,
|
||
|
),
|
||
|
),
|
||
|
'radius-top': (
|
||
|
property: border-top-left-radius border-top-right-radius,
|
||
|
class: radius-top,
|
||
|
values: (
|
||
|
null: $radius,
|
||
|
),
|
||
|
),
|
||
|
'radius-right': (
|
||
|
property: border-top-right-radius border-bottom-right-radius,
|
||
|
class: radius-right,
|
||
|
values: (
|
||
|
null: $radius,
|
||
|
),
|
||
|
),
|
||
|
'radius-bottom': (
|
||
|
property: border-bottom-right-radius border-bottom-left-radius,
|
||
|
class: radius-bottom,
|
||
|
values: (
|
||
|
null: $radius,
|
||
|
),
|
||
|
),
|
||
|
'radius-left': (
|
||
|
property: border-bottom-left-radius border-top-left-radius,
|
||
|
class: radius-left,
|
||
|
values: (
|
||
|
null: $radius,
|
||
|
),
|
||
|
),
|
||
|
'radius-lr': (
|
||
|
property: border-top-left-radius border-bottom-right-radius,
|
||
|
class: radius-lr,
|
||
|
values: (
|
||
|
null: $radius,
|
||
|
),
|
||
|
),
|
||
|
'radius-lrs': (
|
||
|
property: border-top-right-radius border-bottom-left-radius,
|
||
|
class: radius-lr,
|
||
|
values: (
|
||
|
null: 0,
|
||
|
),
|
||
|
),
|
||
|
'radius-rl': (
|
||
|
property: border-top-right-radius border-bottom-left-radius,
|
||
|
class: radius-rl,
|
||
|
values: (
|
||
|
null: $radius,
|
||
|
),
|
||
|
),
|
||
|
'radius-rls': (
|
||
|
property: border-top-left-radius border-bottom-right-radius,
|
||
|
class: radius-rl,
|
||
|
values: (
|
||
|
null: 0,
|
||
|
),
|
||
|
),
|
||
|
),
|
||
|
$utilities
|
||
|
);
|
||
|
@each $key, $utility in $utilities {
|
||
|
@if type-of($utility) == 'map' {
|
||
|
$values: map-get($utility, values);
|
||
|
@if type-of($values) == 'string' or type-of(nth($values, 1)) != 'list' {
|
||
|
$values: zip($values, $values);
|
||
|
}
|
||
|
@each $key, $value in $values {
|
||
|
$properties: map-get($utility, property);
|
||
|
@if type-of($properties) == 'string' {
|
||
|
$properties: append((), $properties);
|
||
|
}
|
||
|
$property-class: if(
|
||
|
map-has-key($utility, class),
|
||
|
map-get($utility, class),
|
||
|
nth($properties, 1)
|
||
|
);
|
||
|
$property-class: if($property-class == null, '', $property-class);
|
||
|
$property-class-modifier: if($key, if($property-class == '', '', '-') + $key, '');
|
||
|
.#{$property-class + $property-class-modifier} {
|
||
|
@each $property in $properties {
|
||
|
#{$property}: $value !important;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|