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; } } } } }