tailwind.config.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. /** @type {import('tailwindcss').Config} */
  2. function generateSize(size, unit) {
  3. const result = {};
  4. for (let i = 0; i <= size; i++) {
  5. result[`${i}`] = `${i}${unit}`;
  6. }
  7. return result;
  8. }
  9. module.exports = {
  10. plugins: [],
  11. corePlugins: {
  12. container: false,
  13. preflight: false,
  14. },
  15. content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"],
  16. safelist: [{ pattern: /grid-cols-[1-9]/ }],
  17. theme: {
  18. // 间距
  19. spacing: {
  20. ...generateSize(400, "rpx"),
  21. },
  22. extend: {
  23. // 圆角
  24. borderRadius: generateSize(50, "px"),
  25. // 行高
  26. lineHeight: generateSize(375, "rpx"),
  27. // 字间距
  28. letterSpacing: generateSize(20, "rpx"),
  29. // 旋转
  30. rotate: generateSize(180, "deg"),
  31. zIndex: generateSize(100, ""),
  32. fontSize: {
  33. base: "15px",
  34. sm: "14px",
  35. xs: "13px",
  36. "2xs": "12px",
  37. "3xs": "11px",
  38. "4xs": "10px",
  39. lg: "16px",
  40. xl: "18px",
  41. "2xl": "20px",
  42. "3xl": "24px",
  43. "4xl": "28px",
  44. "5xl": "32px",
  45. "6xl": "36px",
  46. "7xl": "40px",
  47. ...generateSize(70, "rpx"),
  48. },
  49. colors: {
  50. transparent: "transparent",
  51. primary: {
  52. DEFAULT: "var(--primary-color)",
  53. 50: "var(--primary-color-50)",
  54. 100: "var(--primary-color-100)",
  55. 200: "var(--primary-color-200)",
  56. 300: "var(--primary-color-300)",
  57. 400: "var(--primary-color-400)",
  58. 500: "var(--primary-color-500)",
  59. 600: "var(--primary-color-600)",
  60. 700: "var(--primary-color-700)",
  61. 800: "var(--primary-color-800)",
  62. 900: "var(--primary-color-900)",
  63. 950: "var(--primary-color-950)",
  64. light: "var(--primary-light-color)",
  65. },
  66. warning: {
  67. DEFAULT: "var(--warning)",
  68. dark: "var(--warning-dark)",
  69. disabled: "var(--warning-disabled)",
  70. light: "var(--warning-light)",
  71. },
  72. success: {
  73. DEFAULT: "var(--success)",
  74. dark: "var(--success-dark)",
  75. disabled: "var(--success-disabled)",
  76. light: "var(--success-light)",
  77. },
  78. danger: {
  79. DEFAULT: "var(--danger)",
  80. dark: "var(--danger-dark)",
  81. disabled: "var(--danger-disabled)",
  82. light: "var(--danger-light)",
  83. },
  84. // 只添加部分颜色,防止覆盖掉老颜色
  85. fore: {
  86. title: "var(--fore-title)",
  87. subtitle: "var(--fore-subtitle)",
  88. content: "var(--fore-content)",
  89. subcontent: "var(--fore-subcontent)",
  90. tip: "var(--fore-tip)",
  91. "tip-light": "var(--fore-tip-light)",
  92. light: "var(--fore-light)",
  93. disabled: "var(--fore-disabled)",
  94. placeholder: "var(--fore-placeholder)",
  95. },
  96. back: {
  97. DEFAULT: "var(--back)",
  98. light: "var(--back-light)",
  99. },
  100. border: {
  101. DEFAULT: "var(--border)",
  102. light: "var(--border-light)",
  103. },
  104. danger: {
  105. DEFAULT: "var(--danger)",
  106. dark: "var(--danger-dark)",
  107. disabled: "var(--danger-disabled)",
  108. light: "var(--danger-light)",
  109. },
  110. },
  111. boxShadow: {
  112. up: "0 -1px 3px 0 rgb(0 0 0 / 0.1), 0 -1px 2px -1px rgb(0 0 0 / 0.1)",
  113. },
  114. flex: {
  115. 2: "2",
  116. 3: "3",
  117. 4: "4",
  118. 5: "5",
  119. 6: "6",
  120. 7: "7",
  121. 8: "8",
  122. 9: "9",
  123. 10: "10",
  124. },
  125. },
  126. },
  127. };