| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- import UnoCss from 'unocss/vite';
- export default () => {
- return UnoCss({
- hmrTopLevelAwait: false, // unocss默认是true,低版本浏览器是不支持的,启动后会报错
- rules: [
- [/^mg-([\.\d]+)$/, ([_, num]) => ({ margin: `${num}px` })],
- [/^pd-([\.\d]+)$/, ([_, num]) => ({ padding: `${num}px` })],
- [/^bg-([\w-]+)$/, ([_, color]) => ({ 'background-color': color })],
- [/^c-([\w-]+)$/, ([_, color]) => ({ color: color })],
- [/^bc-([\w-]+)$/, ([_, color]) => ({ 'border-color': color })],
- [/^rounded-([\.\d]+)$/, ([_, num]) => ({ 'border-radius': `${num}px` })],
- // 下边距
- [/^mb-([\.\d]+)$/, ([_, num]) => ({ 'margin-bottom': `${num}px` })],
- // 上边距
- [/^mt-([\.\d]+)$/, ([_, num]) => ({ 'margin-top': `${num}px` })],
- // 左边距
- [/^ml-([\.\d]+)$/, ([_, num]) => ({ 'margin-left': `${num}px` })],
- // 右边距
- [/^mr-([\.\d]+)$/, ([_, num]) => ({ 'margin-right': `${num}px` })],
- // 上padding
- [/^pt-([\.\d]+)$/, ([_, num]) => ({ 'padding-top': `${num}px` })],
- // 下padding
- [/^pb-([\.\d]+)$/, ([_, num]) => ({ 'padding-bottom': `${num}px` })],
- // pd3-40-0-20
- // padding
- [
- /^pd3-([\.\d]+)-([\.\d]+)-([\.\d]+)$/,
- ([_, top, right, bottom]) => ({
- padding: `${top}px ${right}px ${bottom}px`
- })
- ],
- // pd2-40-20
- [
- /^pd2-([\.\d]+)-([\.\d]+)$/,
- ([_, top, right]) => ({
- padding: `${top}px ${right}px`
- })
- ],
- // pd4-40-20-10-5
- [
- /^pd4-([\.\d]+)-([\.\d]+)-([\.\d]+)-([\.\d]+)$/,
- ([_, top, right, bottom, left]) => ({
- padding: `${top}px ${right}px ${bottom}px ${left}px`
- })
- ],
- // mg2-40-20
- [
- /^mg2-([\.\d]+)-([\.\d]+)$/,
- ([_, top, right]) => ({
- margin: `${top}px ${right}px`
- })
- ],
- // mg3-40-20-10
- [
- /^mg3-([\.\d]+)-([\.\d]+)-([\.\d]+)$/,
- ([_, top, right, bottom]) => ({
- margin: `${top}px ${right}px ${bottom}px`
- })
- ],
- // mg4-40-20-10-5
- [
- /^mg4-([\.\d]+)-([\.\d]+)-([\.\d]+)-([\.\d]+)$/,
- ([_, top, right, bottom, left]) => ({
- margin: `${top}px ${right}px ${bottom}px ${left}px`
- })
- ],
- // 左padding
- [/^pl-([\.\d]+)$/, ([_, num]) => ({ 'padding-left': `${num}px` })],
- // 右padding
- [/^pr-([\.\d]+)$/, ([_, num]) => ({ 'padding-right': `${num}px` })],
- // 字体大小
- [/^f-s-([\.\d]+)$/, ([_, num]) => ({ 'font-size': `${num}px` })],
- // 字体加粗
- [/^f-w-([\.\d]+)$/, ([_, num]) => ({ 'font-weight': `${num}` })],
- // 宽
- [/^w-([\.\d]+)$/, ([_, num]) => ({ width: `${num}px` })],
- // 高
- [/^h-([\.\d]+)$/, ([_, num]) => ({ height: `${num}px` })],
- // 带透明度的可传入颜色计算rgba值加背景
- // 行高
- [/^lh-([\.\d]+)$/, ([_, num]) => ({ 'line-height': `${num}` })],
- // 黑色透明度
- [
- /^bg-black-([\.\d]+)$/,
- ([_, num]) => ({
- 'background-color': `rgba(0, 0, 0, ${num})`
- })
- ],
- // 透明度
- [
- /^opacity-([\.\d]+)$/,
- ([_, num]) => ({
- opacity: `${num}`
- })
- ],
- // z-index
- [
- /^z-index-([\.\d]+)$/,
- ([_, num]) => ({
- 'z-index': `${num}`
- })
- ],
- // 百分比高度
- [/^h-([\.\d]+)%$/, ([_, num]) => ({ height: `${num}%` })],
- [
- /^wrapper-([\.\d]+)-([\.\d]+)$/,
- ([_, maxWidth, minWidth]) => ({
- 'max-width': `${maxWidth}px`,
- 'min-width': `${minWidth}px`,
- margin: '0 auto',
- padding: '0 20px'
- })
- ],
- // 最大宽
- [/^max-w-([\.\d]+)$/, ([_, num]) => ({ 'max-width': `${num}px` })],
- // 最小宽
- [/^min-w-([\.\d]+)$/, ([_, num]) => ({ 'min-width': `${num}px` })],
- // 最大高
- [/^max-h-([\.\d]+)$/, ([_, num]) => ({ 'max-height': `${num}px` })],
- // 最小高
- [/^min-h-([\.\d]+)$/, ([_, num]) => ({ 'min-height': `${num}px` })],
- // 栅格 30份
- [/^hcol-([\.\d]+)$/, ([_, num]) => ({ width: `${(+num / 30) * 100}%` })],
- // border-radius-8
- [
- /^border-radius-([\.\d]+)$/,
- ([_, num]) => ({
- 'border-radius': `${num}px`
- })
- ]
- ]
- });
- };
|