unocss.config.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { presetUni } from '@uni-helper/unocss-preset-uni';
  2. import { defineConfig, presetIcons, presetAttributify, transformerDirectives, transformerVariantGroup } from 'unocss';
  3. export default defineConfig({
  4. presets: [
  5. presetUni(),
  6. presetIcons({
  7. scale: 1.2,
  8. warn: true,
  9. extraProperties: {
  10. display: 'inline-block',
  11. 'vertical-align': 'middle',
  12. },
  13. }),
  14. // 支持css class属性化, 可能会与ui的组件属性冲突
  15. presetAttributify({
  16. ignoreAttributes: [
  17. 'color',
  18. // ...
  19. ],
  20. }),
  21. ],
  22. transformers: [
  23. // 启用指令功能:主要用于支持 @apply、@screen 和 theme() 等 CSS 指令
  24. transformerDirectives(),
  25. // 启用 () 分组功能
  26. // 支持css class组合,eg: `<div class="hover:(bg-gray-400 font-medium) font-(light mono)">测试 unocss</div>`
  27. transformerVariantGroup(),
  28. ],
  29. shortcuts: [
  30. {
  31. center: 'flex justify-center items-center',
  32. },
  33. ],
  34. rules: [
  35. [
  36. 'p-safe',
  37. {
  38. padding: 'env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)',
  39. },
  40. ],
  41. ['pt-safe', { 'padding-top': 'env(safe-area-inset-top)' }],
  42. ['pb-safe', { 'padding-bottom': 'env(safe-area-inset-bottom)' }],
  43. ],
  44. theme: {
  45. colors: {
  46. /** 主题色,用法如: text-primary */
  47. primary: 'var(--wot-color-theme,#0957DE)',
  48. },
  49. fontSize: {
  50. /** 提供更小号的字体,用法如:text-2xs */
  51. '2xs': ['20rpx', '28rpx'],
  52. '3xs': ['18rpx', '26rpx'],
  53. },
  54. },
  55. });