类名格式
与将自定义类名绑定给组件,一个类名绑定多个属性对不同,我们这里是使用的单元类名的方式,也就是说你写的每一个类名都对应了一个单独属性对。
代码会根据类名自动生成相应的样式属性,不是穷举法预置的,也就是页面只会生成需要的样式,不会生成多余的样式,重用的样式只会生成一次,能达到复用的目的,这些对于使用者来说是无感的。
使用者只需要按照格式来命名类名即可。
我们秉持缩写的原则,即属性名的首字母缩写,然后再加上对应的值的首字母缩写,把他们用横线连接起来。
举几个例子:示例是表示它们可能的用法,各种用法之间可以自由组合。
宽度 width
宽度有几种指定方式:固定值、百分比值、全局值等。
其中 w 是 width 的缩写,vw 表示用视口宽度。
w-50: 表示宽度为 50px,等同于 width: 50px;。
w_50: 表示宽度为 50%,等同于 width: 50%;,百分比的值使用下划线。
vw_50: 表示宽度为视口的 50%,等同于 width: 50vw;。
minw-50: 表示最小宽度为 50px,等同于 min-width: 50px;,由于 min 和 max 首字母都是 m,并且他们都起到形容修饰的作用,因此对这种直接写全,同理最小高度就是 minh。
外边距 margin
外边距也有几种指定方式:固定值、百分比值、全局值等。
其中 m 是 margin 的缩写,ml 是 margin-left 的缩写,mx 是 margin-left 和 margin-right 的缩写,x 表示水平方向,同样 my 表示的是上下外边距。
m-10: 表示外边距 10px,等同于 margin: 10px;。
ml-10: 表示左外边距为 10px,等同于 margin-left: 10px;。
mt--10: 表示上外边距为 -10px,等同于 margin-top: -10px;。
mx-10: 表示左右外边距为 10px,等同于 margin-left: 10px;margin-right: 10px;。
定位 position
其中 p 是 position 的缩写,r 是属性值 relative 的缩写。
p-r: 表示相对定位,等同于 position: relative;。
p-a: 表示绝对定位,等同于 position: absolute;。
显示类型 display
其中 d 是 display 的缩写,b 是属性值 block 的缩写。
d-i: 表示行内,等同于 display: inline;。
d-ib: 表示行内块,等同于 display: inline-block;。
d-n: 表示隐藏,等同于 display: none;。
d-f: 表示弹性布局,等同于 display: flex;。
鼠标形状 cursor
其中 c 是 cursor 的缩写。
c-p: 表示手形状,等同于 cursor: pointer;。
c-na: 表示不允许操作,等同于 cursor: not-allowed;。
颜色 color
其中 c 是 color 的缩写,不用担心跟鼠标形状 cursor 会冲突,因为它们的值格式不同。
c-red: 表示红色,等同于 color: red;,可以直接指定颜色单词。
c-ff0000: 表示红色,等同于 color: #ff0000;,也可是指定 rgb 形式的颜色值。
背景色 background-color
其中 bgc 是 background-color 的缩写,这里没用 bc 的原因是因为我们熟悉背景的英文缩写就是 bg,因此这里沿用下来,也让人容易理解,而且也是为了避免与 border-color 相冲突。
bgc-123456: 表示背景色为 #123456,等同于 background-color: #123465;。
字体大小 font-size
其中 fs 是 font-size 的缩写。
fs-18: 表示字体大小为 18px,等同于 font-size: 18px;。
边框 border
其中 b 是 border 的缩写,后面的值分为三个,第一个表示边框宽度,第二个表示线的类型,第三个表示线的颜色,颜色可以是英文单词或者十六进制或者 rgb 等。
b-n: 表示不显示边框,等同于 border: none;。
b-1-solid-red: 表示 1px 的红色实线边框,等同于 border: 1px solid red;。
b-1-solid-ff0000: 表示 1px 的红色实线边框,等同于 border: 1px solid #ff0000;。
对齐方式 text-align
其中 ta 是 text-align 的缩写。
ta-c: 表示居中对齐,等同于 text-align: center;。
等等等等,其他的类名也都遵守上面的格式。不再一一列举。