settings

css 变量

包含 css 的颜色、字体、字号、行高。影响基础样式、mixins 和 atomic 颜色相关样式,

1.颜色

2.字体

  • base:html 默认字体(--aoda-font-family1)

3.字号

  • base:html 默认字号(--aoda-font-size1)、h1 和 h2 默认字号(--aoda-font-size2)
  • mixins:font-size

4.行高

  • base:html 默认行高(--aoda-line-height1)
  • mixins:font-size
:root {
  // 1.颜色
  --aoda-color1: #fff;
  --aoda-color2: #333;
  --aoda-color3: #666;
  --aoda-color4: #aaa;
  --aoda-color5: #f3f4f7;
  --aoda-color6: #3b7ff3;
  --aoda-color7: #fff;
  --aoda-color8: #fff;
  --aoda-color9: #fff;
  --aoda-color10: #fff;
  --aoda-color11: #fff;
  --aoda-color12: #fff;
  --aoda-color13: #fff;
  --aoda-color14: #fff;
  --aoda-color15: #fff;
  --aoda-color16: #fff;
  --aoda-color17: #fff;
  --aoda-color18: #fff;
  --aoda-color19: #fff;
  --aoda-color20: #fff;

  // 2.字体
  --aoda-font-family1: 'PingFangSC-Medium', 'PingFang SC', -apple-system, blinkmacsystemfont,
    'Helvetica Neue', helvetica, segoe ui, arial, roboto, 'miui',
    'Hiragino Sans GB', 'Microsoft Yahei', sans-serif;
  --aoda-font-family2: avenir-heavy, 'PingFang SC', 'Helvetica Neue', arial,
    sans-serif;

  // 3.字号
  --aoda-font-size1: 16px;
  --aoda-font-size2: 20px;

  // 4.行高
  --aoda-line-height1: normal;
}

scss 变量

包含 scss 的控制参数。影响基础样式、mixins 的函数参数 和 atomic 的生成参数。

1.mixins 参数

  • base:dpr/暗色模式/响应式的媒体查询
  • mixins:image-dpr

2.atomic 参数

/****************************** 一.mixins参数 ******************************/

// 媒体查询:576px-
$mixins-xs: 'only screen and (max-width: 575px)';

// 媒体查询:576px+
$mixins-sm: 'only screen and (min-width: 576px) and (max-width: 767px)';

// 媒体查询:768px+
$mixins-md: 'only screen and (min-width: 768px) and (max-width: 991px)';

// 媒体查询:992px+
$mixins-lg: 'only screen and (min-width: 992px) and (max-width: 1199px)';

// 媒体查询:1200px+
$mixins-xl: 'only screen and (min-width: 1200px) and (max-width: 1399px)';

// 媒体查询:1400px+
$mixins-xxl: 'only screen and (min-width: 1400px)';

// 媒体查询:dpr3
$mixins-dpr3: 'only screen and (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3)';

// 媒体查询:dpr2
$mixins-dpr2: 'only screen and (-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2)';

// 媒体查询:亮色模式(mac/iphone亮暗适配)
$mixins-light: 'only screen and (prefers-color-scheme: light)';

// 媒体查询:暗色模式(mac/iphone亮暗适配)
$mixins-dark: 'only screen and (prefers-color-scheme: dark)';

/****************************** 二.atomic参数 ******************************/

// 颜色:1 ~ 20色号
$atomic-color: 20 !default;

// 位置:0px ~ 100px
$atomic-location: 100 !default;

// 边距:0px ~ 100px
$atomic-size: 100 !default;

// 边框倒角:0px ~ 60px
$atomic-border: 60 !default;

// 字号:12px ~ 72px
$atomic-font-size: 72 !default;

// 文字行数:1 ~ 6
$atomic-line: 6 !default;

// z-index:0 ~ 1000
$atomic-zindex: (0, 1, 2, 3, 4, 5, 10, 100, 1000) !default;

// 不透明度:0 ~ 1
$atomic-opacity: (
  '0': 0,
  '1': 0.1,
  '2': 0.2,
  '3': 0.3,
  '4': 0.4,
  '5': 0.5,
  '6': 0.6,
  '7': 0.7,
  '8': 0.8,
  '9': 0.9,
  '10': 1
) !default;

// 盒模型
$atomic-box-sizing: (
  'c': content-box,
  'b': border-box
) !default;

// 盒边距
$atomic-edge: (
  'p': padding,
  'm': margin
) !default;

// 可见性
$atomic-visibility: (
  'h': hidden,
  'v': visible
) !default;

// 图片适配
$atomic-object-fit: (
  'cr': cover,
  'cn': contain
) !default;

// 字重
$atomic-font-weight: (
  '100': 100,
  '200': 200,
  '300': 300,
  '400': 400,
  '500': 500,
  '600': 600,
  '700': 700,
  '800': 800,
  '900': 900,
  'l': lighter,
  'n': normal,
  'b': bold,
  'bo': bolder
) !default;

// 字行高
$atomic-line-height: (
  '1': 1,
  '11': 1.1,
  '12': 1.2,
  '13': 1.3,
  '14': 1.4,
  '15': 1.5,
  '2': 2,
  'n': normal
) !default;

// 字对齐
$atomic-text-align: (
  's': start,
  'c': center,
  'e': end,
  'l': left,
  'r': right
) !default;

// 定位:相对、绝对、固定、粘性
$atomic-position: (
  'r': relative,
  'a': absolute,
  'f': fixed,
  's': sticky
) !default;

// 方向:上、下、左、右
$atomic-direction: (
  't': top,
  'b': bottom,
  'l': left,
  'r': right
) !default;

// flex主轴方向
$atomic-flex-direction: (
  'r': row,
  'rr': row-reverse,
  'c': column,
  'cr': column-reverse
) !default;

// flex主轴换行
$atomic-flex-wrap: (
  'n': nowrap,
  'w': wrap
) !default;

// flex轴对齐
$atomic-flex-content: (
  'fs': flex-start,
  'fe': flex-end,
  'c': center,
  'sb': space-between,
  'sa': space-around,
  's': stretch
) !default;

mixins

在指定选择器内部调用 mixins 即可生成对应样式。

<style lang="scss">
/* 1.引入 aoda.css 的内置 mixins */
@import '~aoda.css/dist/mixins/index.scss';

.button {
  /* 2.使用cursor生成鼠标手势 */
  @include cursor;
  width: 100px;
  height: 100px;
}
</style>

transition 过渡动画

设置过渡动画效果

@include transition(
  $property: all,
  $duration: 0.35s,
  $timingFunction: ease,
  $delay: 0s
);
参数说明可选值
$propertycss 属性名
$duration动画时长
$timingFunction动画曲线linear(线性)、ease(快缓入慢缓出)、ease-in(缓入)、ease-out(缓出)、ease-in-out(缓入缓出)
$delay动画延迟时长

animation 帧动画

设置帧动画效果

@include animation(
  $animationId,
  $duration: 0.5s,
  $timingFunction: ease,
  $delay: 0s,
  $iterationCount: 1,
  $direction: normal,
  $fillMode: forwards,
  $playState: running
);
参数说明可选值
$animationId@keyframes 名称
$duration动画时长
$timingFunction动画曲线linear(线性)、ease(快缓入慢缓出)、ease-in(缓入)、ease-out(缓出)、ease-in-out(缓入缓出)
$delay动画延迟时长
$iterationCount动画执行次数number(次数)、infinite(无限次)
$direction动画执行顺序normal(正向)、reverse(反向)、alternate(先正向后反向)、alternate-reverse(先反向后正向)
$fillMode动画执行结束样式none(无)、backwards(动画起始帧样式)、forwards(动画结束帧样式)
$playState动画执行状态running(运行)、paused(暂停)

clip 路径裁切

根据指定路径裁切元素(不会改变容器尺寸)

@include clip($clipPath: inset(10px 10px));
参数说明可选值
$clipPath裁切路径inset(长 宽)(矩形)、circle(半径 at x y)(圆形)

clip-svg 路径裁切

根据 svg 路径裁切元素(不会改变容器尺寸)

@include clip-svg($svgId: '#clip');
参数说明可选值
$svgIdsvg 元素 Id

cursor 鼠标手势

设置系统样式鼠标手势

@include cursor($cursor: pointer);
参数说明可选值
$cursor系统样式default(默认箭头)、pointer(可点击)、move(移动)

cursor-locale 鼠标手势

设置本地图片作为鼠标手势

@include cursor-locale(
  $baseUrl,
  $imageName,
  $imageExtension: 'png',
  $cursor: default
);
参数说明可选值
$baseUrl资源基础路径
$imageName图片名
$imageExtension图片扩展名
$cursor系统样式default(默认箭头)、pointer(可点击)、move(移动)

cursor-network 鼠标手势

设置网络图片作为鼠标手势

@include cursor-network($url, $cursor: default);
参数说明可选值
$url资源路径
$cursor系统样式default(默认箭头)、pointer(可点击)、move(移动)

selection 鼠标选中

设置鼠标选中的样式(pc)

@include selection($color: var(--aoda-color4), $backgroundColor: transparent);
参数说明可选值
$color字色
$backgroundColor背景色

filter 滤镜

设置滤镜

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter($filterType: blur(3px));
参数说明可选值
$filterType滤镜值

filter-hue 色相

设置色相

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-hue($angle: 90deg);
参数说明可选值
$angle色相值0deg(原色)~ 360deg

filter-saturate 饱和度

设置饱和度

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-saturate($percentage: 50%);
参数说明可选值
$percentage饱和度1(原色)

filter-brightness 明度

设置明度

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-brightness($percentage: 50%);
参数说明可选值
$percentage明度0(暗)~ 1(原色)

filter-contrast 对比度

设置对比度

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-contrast($percentage: 50%);
参数说明可选值
$percentage对比度1(原色)

filter-grayscale 灰度

设置灰度

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-grayscale($percentage: 50%);
参数说明可选值
$percentage灰度0(原色)~ 1(黑白)

filter-sepia 褐色度

设置褐色度

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-sepia($percentage: 50%);
参数说明可选值
$percentage褐色度0(原色)~ 1(褐色)

filter-invert 颜色反转

设置颜色反转

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-invert($percentage: 50%);
参数说明可选值
$percentage颜色反转度0(原色)~ 1(反色)

filter-opacity 不透明度

设置不透明度

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-opacity($percentage: 50%);
参数说明可选值
$percentage不透明度0(透明)~ 1(不透明)

filter-blur 高斯模糊

设置高斯模糊

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加

@include filter-blur($radius: 3px);
参数说明可选值
$radius模糊半径

filter-blur 图片阴影

设置图片阴影

注意

滤镜会导致 fixed 元素定位失效,建议分别给固定元素和其他元素加 filter,不要直接在 body 中添加;webkit 不支持 drop-shadow 的 spread 阴影扩展

@include filter-shadow(
  $color: rgba(0, 0, 0, 0.5),
  $x: 5px,
  $y: 5px,
  $blur: 5px
);
参数说明可选值
$color阴影色
$x阴影 x 轴偏移值
$y阴影 y 轴偏移值
$blur阴影模糊值

mix-blend 混合模式

设置多元素之间的混合模式

@include mix-blend($mixBlendMode: overlay);
参数说明可选值
$mixBlendMode混合模式initial(初始)、 inherit(继承)、 unset(复原)、 normal(无)、multiply(正片叠底)、screen(滤色)、overlay(叠加)、darken(变暗)、lighten(变亮)、color-dodge(颜色减淡)、color-burn(颜色加深)、hard-light(强光)、soft-light(柔光)、difference(差值)、exclusion(排除)、hue(色相)、saturation(饱和度)、color(颜色)、luminosity(亮度)

font-size 字体尺寸

设置字体尺寸

@include font-size(
  $fontSize: var(--aoda-font-size1),
  $textAlign: start,
  $fontWeight: normal,
  $lineHeight: var(--aoda-line-height1),
  $wordWrap: break-word,
  $wordBreak: break-all,
  $wordSpacing: normal
);
参数说明可选值
$fontSize字号
$textAlign对齐方式
$fontWeight字重
$lineHeight行高
$wordWrap文本换行normal(只在半角空格或连字符的地方进行换行)、break-word(在边界内换行)
$wordBreak文本间断normal、break-all(单词到边界时,下个字母自动到下一行)、keep-all(单词不断)
$wordSpacing文本间距

font-style 字体样式

设置字体样式

@include font-style(
  $fontStyle: normal,
  $textIndent: 0,
  $textDecoration: none,
  $textTransform: none
);
参数说明可选值
$fontStyle字风格italic(斜体)
$textIndent字首行缩进
$textDecoration字修饰line-through(删除线)
$textTransform字大小写转换capitalize(单词首字母大写)

font-color 字体颜色

设置字体颜色

@include font-color($color: var(--aoda-color2), $textShadow: 0 0 0 transparent);
参数说明可选值
$color字色
$textShadow字体阴影

font-nowrap 文本省略号

设置文本换行省略号

@include font-nowrap($line: 1);
参数说明可选值
$line文本行数

image-locale 本地图片

设置本地 background-image 图片

@include image-locale(
  $baseUrl,
  $imageName,
  $backgroundSize: cover,
  $imageExtension: 'png'
);
参数说明可选值
$baseUrl资源基础路径
$imageName图片名
$backgroundSize图片适配cover(保持图片比例铺满容器)、contain(保持图片比例在容器完整显示图片)
$imageExtension图片扩展名

image-network 网络图片

设置网络 background-image 图片

@include image-network($url, $backgroundSize: cover);
参数说明可选值
$url资源路径
$backgroundSize图片适配cover(保持图片比例铺满容器)、contain(保持图片比例在容器完整显示图片)

image-dpr 本地适配图片

根据 dpr 设置本地 background-image 图片

@include image-dpr(
  $baseUrl,
  $imageName,
  $backgroundSize: cover,
  $imageExtension: 'png'
);
参数说明可选值
$baseUrl资源基础路径
$imageName图片名
$backgroundSize图片适配cover(保持图片比例铺满容器)、contain(保持图片比例在容器完整显示图片)
$imageExtension图片扩展名

gradient-linear 双色线性渐变

设置 background-image 双色线性渐变

@include gradient-linear(
  $leftColor: #ffa751,
  $rightColor: #ffe259,
  $angle: 90deg
);
参数说明可选值
$leftColor渐变色 1
$rightColor渐变色 2
$angle渐变角度

gradient-repeating 重复线性渐变

设置 background-image 重复线性渐变

@include gradient-repeating($repeatColor: #ffa751, $angle: 45deg);
参数说明可选值
$repeatColor渐变色
$angle渐变角度

gradient-radial 双色径向渐变

设置 background-image 双色径向渐变

@include gradient-radial(
  $insideColor: #ffa751,
  $outsideColor: #ffe259,
  $shape: circle,
  $size: farthest-corner,
  $position: center
);
参数说明可选值
$insideColor内部渐变色
$outsideColor外部渐变色
$shape渐变形状
$size渐变尺寸
$position渐变位置

img-fit 图片标签适配

设置 img 图片标签适配

@include img-fit($objectFit: cover);
参数说明可选值
$objectFit图片适配cover(保持图片比例铺满容器)、contain(保持图片比例在容器完整显示图片)

clear-float 清除浮动

设置 img 图片标签适配

@include clear-float($clear: both);
参数说明可选值
$clear清除方式left(左浮动)、right(右浮动)、both(两侧浮动)

center-flex 垂直居中

设置元素以 flex 方式垂直居中

@include center-flex;

center-position 垂直居中

设置元素以 absolute 方式垂直居中

@include center-position;

column 布局容器

设置元素作为 column 布局容器

@include column(
  $columnCount: 3,
  $columnGap: 0,
  $columnWidth: auto,
  $columnRuleWidth: 0,
  $columnRuleStyle: none,
  $columnRuleColor: rgb(0, 0, 0),
  $columnFill: auto
);
参数说明可选值
$columnCount列数auto(本列内容决定)
$columnGap列间距normal(1em)
$columnWidth列宽auto(本列内容决定)
$columnRuleWidth列边框宽度
$columnRuleStyle列边框样式
$columnRuleColor列边框颜色
$columnFill列高度指定auto(本列内容决定)、balance(内容最多的列决定)

column-item 布局元素

设置元素作为 column 布局元素

@include column-item($columnSpan: none);
参数说明可选值
$columnSpan某一列是否跨列none(不跨列)、all

flex 布局容器

设置元素作为 flex 布局容器

注意

元素设为 flex 布局容器以后,布局元素的 float、clear、vertical-align 属性将失效

@include flex(
  $justifyContent: flex-start,
  $flexWrap: nowrap,
  $flexDirection: row,
  $alignItems: center,
  $alignContent: stretch
);
参数说明可选值
$justifyContent主轴对齐方式flex-start(起始对齐)、flex-end(结尾对齐)、center(居中对齐)、space-between(两侧对齐中间均分)、space-around(均分)、stretch(平铺)
$flexWrap主轴换行方式nowrap(不换行)、wrap(换行)、wrap-reverse(反向换行)
$flexDirection主轴方向row(行)、row-reverse(行反向)、column(列)、column-reverse(列反向)
$alignItems单交叉轴对齐方式flex-start(起始对齐)、flex-end(结尾对齐)、center(居中对齐)、space-between(两侧对齐中间均分)、space-around(均分)、stretch(平铺)
$alignContent多交叉轴对齐方式flex-start(起始对齐)、flex-end(结尾对齐)、center(居中对齐)、space-between(两侧对齐中间均分)、space-around(均分)、stretch(平铺)

flex-item 布局元素

设置元素作为 flex 布局元素

@include flex-item(
  $flexGrow: 1,
  $flexShrink: 1,
  $flexBasis: auto,
  $order: 0,
  $alignSelf: auto
);
参数说明可选值
$flexGrow元素是否支持放大0(不支持)、1(支持)
$flexShrink元素是否支持缩小0(不支持)、1(支持)
$flexBasis基础值
$order元素排序系数(小->大)
$alignSelf元素交叉轴对齐方式flex-start(起始对齐)、flex-end(结尾对齐)、center(居中对齐)、space-between(两侧对齐中间均分)、space-around(均分)、stretch(平铺)

grid 布局容器

设置元素作为 grid 布局容器

注意

元素设为 grid 布局容器以后,布局元素的 float、display: inline-block、display: table-cell、vertical-align、column-等属性将失效

@include grid(
  $columnWidth: 100px,
  $rowHeight: 100px,
  $gridColumnGap: 5px,
  $gridRowGap: $gridColumnGap,
  $gridAutoFlow: row,
  $columns: auto-fill,
  $rows: auto-fill,
  $alignItems: stretch,
  $justifyItems: stretch,
  $alignContent: stretch,
  $justifyContent: stretch
);
参数说明可选值
$columnWidth列宽度
$rowHeight行宽度
$gridColumnGap列间隔
$gridRowGap行间隔
$gridAutoFlow排列方向row(行方向)、column(列方向)
$columns列数
$rows行数
$alignItems布局元素交叉轴填充方式start(起始对齐)、end(结尾对齐)、center(居中对齐)、stretch(平铺)
$justifyItems布局元素主轴对齐方式start(起始对齐)、end(结尾对齐)、center(居中对齐)、stretch(平铺)
$alignContent布局元素内部交叉轴填充方式start(起始对齐)、end(结尾对齐)、center(居中对齐)、stretch(平铺)
$justifyContent布局元素内部主轴对齐方式start(起始对齐)、end(结尾对齐)、center(居中对齐)、stretch(平铺)

grid-item 布局元素

设置元素作为 grid 布局元素

@include grid-item(
  $columnSpan: 1,
  $rowSpan: 1,
  $display: inline-grid,
  $alignSelf: auto,
  $justifySelf: auto
);
参数说明可选值
$columnSpan列占据比例
$rowSpan行占据比例
$display元素类型inline-grid(行内)
$alignSelf元素交叉轴对齐方式
$justifySelf元素主轴对齐方式

atomic

atomic 全部采用 属性选择器 ,因此在 html、jsx、template 中只要声明了对应的属性,原子样式便会生效。

<template>
  <div class="item" mt-10 ml-10 br-10 cu-p>
    <p co-6>测试文本</p>
  </div>
</template>

有些时候你需要动态控制样式是否生效,这里推荐使用 Vue3 状态驱动的动态 CSSopen in new window,用状态值关联 css 变量和 template 样式:

<template>
  <div class="item" mt-10 ml-10 br-10 cu-p>
    <p co-6>测试文本</p>
  </div>
</template>

<script setup lang="ts">
import { computed } from 'vue'

// 1.父组件动态传入一个参数
const props = withDefaults(defineProps<{ selected?: boolean }>(), {
  selected: false
})

// 2.设定状态值关联 css 变量和 template 样式
const backgroundColor = computed(() =>
  props.selected ? 'var(--aoda-color1)' : 'var(--aoda-color2)'
)
</script>

<style lang="scss" scoped>
.item {
  /* 3.绑定状态值 */
  background-color: v-bind(backgroundColor);
}
</style>

命名规则

1.基础命名规则:属性 - 参数

  • 属性:通常由其真实的 css 属性名组合而成。如果是 一个单词,通常取 前两位字母 作为属性;如果是 两个单词,通常取 每个单词首字母 作为属性

  • 参数:如果是 单词 的话,通常是取其的 首字母;如果是 数值 的话,整数不变小数去小数点

    /* 一.属性(1个单词)+ 参数(单词)*/
    position: relative; // -> po-r
    /* 二.属性(2个单词)+ 参数(单词)*/
    box-sizing: border-box; // -> bs-b
    /* 三.属性(2个单词)+ 参数(整数)*/
    line-height: 1; // -> lh-1
    /* 四.属性(2个单词)+ 参数(小数)*/
    line-height: 1.2; // -> lh-12
    

2.单属性命名规则:单属性 - 参数

  • 单属性:只取首字母作为属性。目前只有特定的五个 css 使用了单属性命名,它们分别是 z-indextopbottomleftright

  • 参数:同基础命名规则

    z-index: 100; // -> z-100
    top: 50px; // -> t-50
    

3 容器属性命名规则:容器属性 - 参数

  • 容器属性:flex 相关的 css 都聚合在 fl- 命名空间下。这是由于布局容器属性相对比较集中,依据基本规则命名反而不利于使用

  • 参数:同基础命名规则

    flex-wrap: wrap; // -> fl-fww
    justify-content: center; // -> fl-jcc
    flex: 0 0 auto; // -> fl-0
    

4.其他命名规则:功能属性 - 参数

  • 功能属性:不符合上述规则的其他 css 是根据功能来命名,目前有 ab-ac-hb-hc-sa-nw-

  • 参数:同基础命名规则

    .nw-1 {
      overflow: hidden !important;
      white-space: nowrap !important;
      text-overflow: ellipsis !important;
    }
    

animation 动画

命名示例范围作用
hb-数值hb-11 ~ 20鼠标悬停元素时变更背景色(pc)
hc-数值hc-11 ~ 20鼠标悬停元素时变更字色(pc)
ab-数值ab-11 ~ 20鼠标点击/触控点击元素时变更背景色(pc、mobile)
ac-数值ac-11 ~ 20鼠标点击/触控点击元素时变更字色(pc、mobile)
[hb-1]:hover {
  background-color: var(--aoda-color1);
}

[hc-1]:hover {
  color: var(--aoda-color1);
}

[ab-1]:active {
  background-color: var(--aoda-color1);
}

[ab-1]:active {
  color: var(--aoda-color1);
}

box 盒模型

命名示例范围作用
bs-类型bs-bb、c盒模型
pa-数值pa-10 ~ 100内边距
ph-数值ph-10 ~ 100内边距左右
pv-数值pv-10 ~ 100内边距上下
pt-数值pt-10 ~ 100内边距上
pb-数值pb-10 ~ 100内边距下
pl-数值pl-10 ~ 100内边距左
pr-数值pr-10 ~ 100内边距右
ma-数值ma-10 ~ 100外边距
mh-数值mh-10 ~ 100、a外边距左右
mv-数值mv-10 ~ 100外边距上下
mt-数值mt-10 ~ 100外边距上
mb-数值mb-10 ~ 100外边距下
ml-数值ml-10 ~ 100外边距左
mr-数值mr-10 ~ 100外边距右
ov-类型ov-yh、a、x、y超出距离后滚动
sa-类型sa-tt、b移动端异型屏适配
fl-主轴方向类型fl-rr、rr、c、crflex 布局容器主轴方向
fl-fw 主轴换行类型fl-fwwn、wflex 布局容器主轴换行方式
fl-jc 主轴对齐类型fl-jccfs、fe、c、sb、sa、sflex 布局容器主轴对齐方式
fl-ai 单交叉轴对齐类型fl-aicfs、fe、c、sb、sa、sflex 布局容器单交叉轴对齐方式
fl-ac 多交叉轴对齐类型fl-accfs、fe、c、sb、sa、sflex 布局容器多交叉轴对齐方式
fl-元素缩放类型fl-00、1、g、sflex 布局元素缩放方式
[bs-b] {
  box-sizing: border-box;
}

[pa-1] {
  padding: 1px;
}

[ph-1] {
  padding-left: 1px;
  padding-right: 1px;
}

[pv-1] {
  padding-top: 1px;
  padding-bottom: 1px;
}

[pt-1] {
  padding-top: 1px;
}

[pb-1] {
  padding-bottom: 1px;
}

[pl-1] {
  padding-left: 1px;
}

[pr-1] {
  padding-right: 1px;
}

[ma-1] {
  margin: 1px;
}

[mh-1] {
  margin-left: 1px;
  margin-right: 1px;
}

[mh-a] {
  margin-left: auto;
  margin-right: auto;
}

[mv-1] {
  margin-top: 1px;
  margin-bottom: 1px;
}

[mt-1] {
  margin-top: 1px;
}

[mb-1] {
  margin-bottom: 1px;
}

[ml-1] {
  margin-left: 1px;
}

[mr-1] {
  margin-right: 1px;
}

[ov-y] {
  overflow-x: hidden;
  overflow-y: auto;
}

[sa-t] {
  padding-top: constant(safe-area-inset-top);
  padding-top: env(safe-area-inset-top);
}

[fl-r] {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: flex-start;
}

[fl-fww] {
  flex-wrap: wrap;
}

[fl-jcc] {
  justify-content: center;
}

[fl-aic] {
  align-items: center;
}

[fl-acc] {
  align-content: center;
}

[fl-0] {
  flex: 0 0 auto;
}

misc 其他

命名示例范围作用
us-类型us-nn禁用文本选中
pe-类型pe-nn禁用 css 伪类和 js 事件触发
[us-n] {
  user-select: none;
}

[pe-n] {
  pointer-events: none;
}

position 定位

命名示例范围作用
po-类型po-rr、a、f、s定位
z-数值z-1000 ~ 5、10、100、1000z-index
t-数值t-200 ~ 100位置上
b-数值b-200 ~ 100位置下
l-数值l-200 ~ 100位置左
r-数值r-200 ~ 100位置右
[po-r] {
  position: relative;
}

[z-100] {
  z-index: 100;
}

[t-20] {
  top: 20px;
}

[b-20] {
  bottom: 20px;
}

[l-20] {
  left: 20px;
}

[r-20] {
  right: 20px;
}

typography 文本排版

命名示例范围作用
fs-数值fs-1212 ~ 72字号
fw-数值fw-400100、200、300、400、500、600、700、800、900、l、n、b、bo字重
lh-数值lh-151、11、12、13、14、15、2、n行高
ta-类型ta-cs、c、e、l、r文本对齐
co-数值co-11 ~ 20字色
nw-数值nw-11 ~ 6文本超出指定行数省略号
[fs-12] {
  font-size: 12px;
}

[fw-400] {
  font-weight: 400;
}

[lh-15] {
  line-height: 1.5;
}

[ta-c] {
  text-align: center;
}

[co-1] {
  color: var(--aoda-color1);
}

[nw-1] {
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

visual 视觉

命名示例范围作用
bg-数值bg-11 ~ 20背景色
ba-数值ba-11 ~ 20边框色
bt-数值bt-11 ~ 20边框色顶部
bb-数值bb-11 ~ 20边框色底部
bs-数值bs-11 ~ 20阴影色
op-数值op-10 ~ 10不透明度
br-数值br-c1 ~ 60、c边框倒角
vi-类型vi-hh、v可见性
cu-类型cu-pp鼠标手势
of-类型of-cncr、cnimg 图片标签适配
[bg-1] {
  background-color: var(--aoda-color1);
}

[ba-1] {
  border: 1px solid var(--aoda-color1);
}

[bt-1] {
  border-top: 1px solid var(--aoda-color1);
}

[bb-1] {
  border-bottom: 1px solid var(--aoda-color1);
}

[bs-1] {
  box-shadow: 0 10px 15px 1px var(--aoda-color1);
}

[op-1] {
  opacity: 0.1;
}

[br-c] {
  border-radius: 50%;
}

[vi-h] {
  visibility: hidden;
}

[cu-p] {
  cursor: pointer;
}

[of-cn] {
  object-fit: contain;
  object-position: center;
}
此文档贡献者: 嗷大张