tailwind.config.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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(600, "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. dark: "#0088FE"
  67. },
  68. warning: {
  69. DEFAULT: "var(--warning)",
  70. dark: "var(--warning-dark)",
  71. disabled: "var(--warning-disabled)",
  72. light: "var(--warning-light)",
  73. },
  74. success: {
  75. DEFAULT: "var(--success)",
  76. dark: "var(--success-dark)",
  77. disabled: "var(--success-disabled)",
  78. light: "var(--success-light)",
  79. },
  80. secondary: {
  81. DEFAULT: "var(--secondary)",
  82. light: "var(--secondary-light)"
  83. },
  84. danger: {
  85. DEFAULT: "var(--danger)",
  86. dark: "var(--danger-dark)",
  87. disabled: "var(--danger-disabled)",
  88. light: "var(--danger-light)",
  89. },
  90. info: {
  91. DEFAULT: "var(--info)"
  92. },
  93. // 只添加部分颜色,防止覆盖掉老颜色
  94. fore: {
  95. title: "var(--fore-title)",
  96. subtitle: "var(--fore-subtitle)",
  97. content: "var(--fore-content)",
  98. subcontent: "var(--fore-subcontent)",
  99. tip: "var(--fore-tip)",
  100. "tip-light": "var(--fore-tip-light)",
  101. light: "var(--fore-light)",
  102. disabled: "var(--fore-disabled)",
  103. placeholder: "var(--fore-placeholder)",
  104. },
  105. back: {
  106. DEFAULT: "var(--back)",
  107. light: "var(--back-light)",
  108. },
  109. border: {
  110. DEFAULT: "var(--border)",
  111. light: "var(--border-light)",
  112. },
  113. danger: {
  114. DEFAULT: "var(--danger)",
  115. dark: "var(--danger-dark)",
  116. disabled: "var(--danger-disabled)",
  117. light: "var(--danger-light)",
  118. },
  119. },
  120. boxShadow: {
  121. up: "0 -1px 3px 0 rgb(0 0 0 / 0.1), 0 -1px 2px -1px rgb(0 0 0 / 0.1)",
  122. },
  123. flex: {
  124. 2: "2",
  125. 3: "3",
  126. 4: "4",
  127. 5: "5",
  128. 6: "6",
  129. 7: "7",
  130. 8: "8",
  131. 9: "9",
  132. 10: "10",
  133. },
  134. },
  135. },
  136. };