style - Maixbxp/salt-ui GitHub Wiki
style
style
是底层样式实现方案,包括两个部分的实现:
CSS
- reset:即样式重置,部分功能不需要在组件中手动调用和处理,对下面文档中提到的几个关键点知晓即可。
- flexbox + util:以局部样式声明为粒度的通用样式切片,注意,这里的粒度不是组件级别的。详见下面的文档。
- vars:变量,包括 className prefix 、colors、borderRadius、fontSize
- mixin:
stylus
的辅助样式函数
JS
- util.js:通过
js
操作样式的辅助函数
CSS Reset
border box:
- 默认所有元素的盒模型类型为**
border-box
**
list style:
- 列表元素
ul
和ol
的样式默认为none
值。
input, textarea
- 消除输入框和按钮的原生外观
- 去掉点击链接和文本框对象时默认的灰色半透明覆盖层(iOS)或者虚框(Android)
and more...
更多的reset不再一一列举,详见原文件。
CSS Flexbox
salt-ui
中,所有flexbox
相关的class
值,都以t-FB
为前缀。
定义伸缩容器:
- t-FBH: 即
flexbox horizontal
,指定目标元素成为伸缩容器,且内部子元素水平排列。 - t-FBV: 即
flexbox vertical
,指定目标元素成为伸缩容器,且内部子元素垂直排列。
对齐子元素(包括伸缩元素):
- t-FBAS: 即
cross axis's align start
,将子元素对齐到cross
轴的起点上。 - t-FBAC: 即
cross axis's align center
,将子元素对齐到cross
轴的中点上。 - t-FBAE: 即
cross axis's align end
,将子元素对齐到cross
轴的终点上。 - t-FBJS: 即
main axis's justify start
,将子元素对齐到main
轴的起点上。 - t-FBJC: 即
main axis's justify center
,将子元素对齐到main
轴的中点上。 - t-FBJE: 即
main axis's justify end
,将子元素对齐到main
轴的终点上。
子元素属性:
- t-FB1: 即
felx: 1;
子元素放大比例 - t-FB2: 即
felx: 2;
子元素放大比例 - t-FB3: 即
felx: 3;
子元素放大比例
CSS Utils
float(移动端不建议使用float):
- t-CL / tClear: 即
clear
,清除浮动 - t-FL: 即
float left
- t-FR: 即
float right
radius:
- t-R{n}: 即
border-radius
,n
的可选值为3 4 5 6
- t-RT{n}: 左上角和右上角为圆角,
n
的可选值同上 - t-RR{n}: 右上角和右下角为圆角,
n
的可选值同上 - t-RB{n}: 左下角和右下角为圆角,
n
的可选值同上 - t-RL{n}: 左上角和左下角为圆角,
n
的可选值同上
padding:
- t-P{n}: 即
padding
,n
的可选值为0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
,即从0
开始,到30
为止的所有偶数。 - t-PT{n}: 即
padding-top
,n
的可选值同上 - t-PR{n}: 即
padding-right
,n
的可选值同上 - t-PB{n}: 即
padding-bottom
,n
的可选值同上 - t-PL{n}: 即
padding-left
,n
的可选值同上
margin:
- t-M{n}: 即
margin
,n
的可选值为0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30
,即从0
开始,到30
为止的所有偶数。 - t-MT{n}: 即
margin-top
,n
的可选值同上 - t-MR{n}: 即
margin-right
,n
的可选值同上 - t-MB{n}: 即
margin-bottom
,n
的可选值同上 - t-ML{n}: 即
margin-left
,n
的可选值同上
position:
- t-PR: 即
position: relative
- t-PF: 即
position: fixed
- t-PA: 即
position: absolute
border:
- t-BT1: 即
border-top: 1px solid $border
,支持了hairline 的处理 - t-BB1: 即
border-bottom: 1px solid $border
,支持了hairline 的处理
visibility:
- t-DN / tHide: 即
display: none
- t-DB: 即
display: block
- t-DIB: 即
display: inline-block
- t-BHide: 即
-webkit-backface-visibility: hidden
ellipsis:
- t-omit: 强制在一行内显示文字,多余部分用
...
显示 - t-omit2: 强制在两行内显示文字,多余部分用
...
显示,通常需要和设置父容器高度一起使用。 - t-omit3: 强制在三行内显示文字,多余部分用
...
显示,通常需要和设置父容器高度一起使用。
line height:
规则:1 ≤ n ≤ 2
之间的值表示字号的倍数,且小数点用_
表示。
- t-LH{em}: 基于字号的行高,
em
的可选值为1、1_3、1_4、1_5、1_6、1_7、1_8、1_9、2
。如:tLH1
表示line-height: 1em
,tLH1_3
表示line-height: 1.3em
。 - t-LH{px}: 基于
px
的行高,px
的可选值为30、44
,如:tLH30
表示line-height: 30px
。
width:
- t-W{px}: 基于
px
的宽度,px
的可选值包括:0、16、32、64、128、30、44
。如tW44
表示width: 44px
。
height:
- t-H{px}: 基于
px
的高度,px
的可选值包括:0、16、32、64、128、30、44
。如tH44
表示height: 44px
。
square:
宽度和高度相等的情况,最常用于icon
大小的设置。
- t-WH{px}:
px
的可选值包括:0、16、32、64、128、30、44
。如tWH44
表示width: 44px; height: 44px
。
font size:
- t-FS{px}: 即
font-size
,px
的可选值包括0 12 14 16 18 20 22 24 26 28 30
font color:
- t-FC{x}: 即
color: #xxx
,x
的可选值包括0、3、4、5、6、7、8、9、a、b、c、d、e、f
。如:tFCa
表示color: #aaa;
。
font align:
- t-FAL: 即
text-align: left
- t-FAC: 即
text-align: center
- t-FAR: 即
text-align: right
backgrond color:
- t-BC{x}: 即
background-color: #xxx
,x
的可选值包括0、3、4、5、6、7、8、9、a、b、c、d、e、f
。如tBC0
表示background-color: #000
。
opacity:
- t-OP{n}: 即
opacity
,设置透明度,n
的可选值包括0、10、30、50、80、100
。如tOP30
表示opacity: 0.3
。
3d speed up:
- t-3D: 即
transform translateZ(0)
,开启3D加速,谨慎使用。