tailwind.config.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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(500, "rpx"),
  21. },
  22. extend: {
  23. borderWidth: generateSize(100, "rpx"),
  24. // 圆角
  25. borderRadius: generateSize(50, "px"),
  26. // 行高
  27. lineHeight: generateSize(375, "rpx"),
  28. // 字间距
  29. letterSpacing: generateSize(20, "rpx"),
  30. // 旋转
  31. rotate: generateSize(180, "deg"),
  32. zIndex: generateSize(100, ""),
  33. fontSize: {
  34. base: "15px",
  35. sm: "14px",
  36. xs: "13px",
  37. "2xs": "12px",
  38. "3xs": "11px",
  39. "4xs": "10px",
  40. lg: "16px",
  41. xl: "18px",
  42. "2xl": "20px",
  43. "3xl": "24px",
  44. "4xl": "28px",
  45. "5xl": "32px",
  46. "6xl": "36px",
  47. "7xl": "40px",
  48. ...generateSize(70, "rpx"),
  49. },
  50. colors: {
  51. transparent: "transparent",
  52. primary: {
  53. DEFAULT: "var(--primary-color)",
  54. 50: "var(--primary-color-50)",
  55. 100: "var(--primary-color-100)",
  56. 200: "var(--primary-color-200)",
  57. 300: "var(--primary-color-300)",
  58. 400: "var(--primary-color-400)",
  59. 500: "var(--primary-color-500)",
  60. 600: "var(--primary-color-600)",
  61. 700: "var(--primary-color-700)",
  62. 800: "var(--primary-color-800)",
  63. 900: "var(--primary-color-900)",
  64. 950: "var(--primary-color-950)",
  65. light: "var(--primary-light-color)",
  66. },
  67. warning: {
  68. DEFAULT: "var(--warning)",
  69. dark: "var(--warning-dark)",
  70. disabled: "var(--warning-disabled)",
  71. light: "var(--warning-light)",
  72. },
  73. success: {
  74. DEFAULT: "var(--success)",
  75. dark: "var(--success-dark)",
  76. disabled: "var(--success-disabled)",
  77. light: "var(--success-light)",
  78. },
  79. danger: {
  80. DEFAULT: "var(--danger)",
  81. dark: "var(--danger-dark)",
  82. disabled: "var(--danger-disabled)",
  83. light: "var(--danger-light)",
  84. },
  85. info: {
  86. DEFAULT: "var(--info)"
  87. },
  88. // 只添加部分颜色,防止覆盖掉老颜色
  89. fore: {
  90. title: "var(--fore-title)",
  91. subtitle: "var(--fore-subtitle)",
  92. content: "var(--fore-content)",
  93. subcontent: "var(--fore-subcontent)",
  94. tip: "var(--fore-tip)",
  95. "tip-light": "var(--fore-tip-light)",
  96. light: "var(--fore-light)",
  97. disabled: "var(--fore-disabled)",
  98. placeholder: "var(--fore-placeholder)",
  99. },
  100. back: {
  101. DEFAULT: "var(--back)",
  102. light: "var(--back-light)",
  103. },
  104. border: {
  105. DEFAULT: "var(--border)",
  106. light: "var(--border-light)",
  107. },
  108. danger: {
  109. DEFAULT: "var(--danger)",
  110. dark: "var(--danger-dark)",
  111. disabled: "var(--danger-disabled)",
  112. light: "var(--danger-light)",
  113. },
  114. },
  115. boxShadow: {
  116. up: "0 -1px 3px 0 rgb(0 0 0 / 0.1), 0 -1px 2px -1px rgb(0 0 0 / 0.1)",
  117. },
  118. flex: {
  119. 2: "2",
  120. 3: "3",
  121. 4: "4",
  122. 5: "5",
  123. 6: "6",
  124. 7: "7",
  125. 8: "8",
  126. 9: "9",
  127. 10: "10",
  128. },
  129. },
  130. },
  131. };