Skip to content

定制颜色

为您的项目定制默认的颜色调色板。

默认颜色调色板

Tailwind 包含一个精心制作的默认配色方案,是一个很好的起点,如果你没有自己特定的品牌意识。

Slate
50
#f8fafc
100
#f1f5f9
200
#e2e8f0
300
#cbd5e1
400
#94a3b8
500
#64748b
600
#475569
700
#334155
800
#1e293b
900
#0f172a
950
#020617
Gray
50
#f9fafb
100
#f3f4f6
200
#e5e7eb
300
#d1d5db
400
#9ca3af
500
#6b7280
600
#4b5563
700
#374151
800
#1f2937
900
#111827
950
#030712
Zinc
50
#fafafa
100
#f4f4f5
200
#e4e4e7
300
#d4d4d8
400
#a1a1aa
500
#71717a
600
#52525b
700
#3f3f46
800
#27272a
900
#18181b
950
#09090b
Neutral
50
#fafafa
100
#f5f5f5
200
#e5e5e5
300
#d4d4d4
400
#a3a3a3
500
#737373
600
#525252
700
#404040
800
#262626
900
#171717
950
#0a0a0a
Stone
50
#fafaf9
100
#f5f5f4
200
#e7e5e4
300
#d6d3d1
400
#a8a29e
500
#78716c
600
#57534e
700
#44403c
800
#292524
900
#1c1917
950
#0c0a09
Red
50
#fef2f2
100
#fee2e2
200
#fecaca
300
#fca5a5
400
#f87171
500
#ef4444
600
#dc2626
700
#b91c1c
800
#991b1b
900
#7f1d1d
950
#450a0a
Orange
50
#fff7ed
100
#ffedd5
200
#fed7aa
300
#fdba74
400
#fb923c
500
#f97316
600
#ea580c
700
#c2410c
800
#9a3412
900
#7c2d12
950
#431407
Amber
50
#fffbeb
100
#fef3c7
200
#fde68a
300
#fcd34d
400
#fbbf24
500
#f59e0b
600
#d97706
700
#b45309
800
#92400e
900
#78350f
950
#451a03
Yellow
50
#fefce8
100
#fef9c3
200
#fef08a
300
#fde047
400
#facc15
500
#eab308
600
#ca8a04
700
#a16207
800
#854d0e
900
#713f12
950
#422006
Lime
50
#f7fee7
100
#ecfccb
200
#d9f99d
300
#bef264
400
#a3e635
500
#84cc16
600
#65a30d
700
#4d7c0f
800
#3f6212
900
#365314
950
#1a2e05
Green
50
#f0fdf4
100
#dcfce7
200
#bbf7d0
300
#86efac
400
#4ade80
500
#22c55e
600
#16a34a
700
#15803d
800
#166534
900
#14532d
950
#052e16
Emerald
50
#ecfdf5
100
#d1fae5
200
#a7f3d0
300
#6ee7b7
400
#34d399
500
#10b981
600
#059669
700
#047857
800
#065f46
900
#064e3b
950
#022c22
Teal
50
#f0fdfa
100
#ccfbf1
200
#99f6e4
300
#5eead4
400
#2dd4bf
500
#14b8a6
600
#0d9488
700
#0f766e
800
#115e59
900
#134e4a
950
#042f2e
Cyan
50
#ecfeff
100
#cffafe
200
#a5f3fc
300
#67e8f9
400
#22d3ee
500
#06b6d4
600
#0891b2
700
#0e7490
800
#155e75
900
#164e63
950
#083344
Sky
50
#f0f9ff
100
#e0f2fe
200
#bae6fd
300
#7dd3fc
400
#38bdf8
500
#0ea5e9
600
#0284c7
700
#0369a1
800
#075985
900
#0c4a6e
950
#082f49
Blue
50
#eff6ff
100
#dbeafe
200
#bfdbfe
300
#93c5fd
400
#60a5fa
500
#3b82f6
600
#2563eb
700
#1d4ed8
800
#1e40af
900
#1e3a8a
950
#172554
Indigo
50
#eef2ff
100
#e0e7ff
200
#c7d2fe
300
#a5b4fc
400
#818cf8
500
#6366f1
600
#4f46e5
700
#4338ca
800
#3730a3
900
#312e81
950
#1e1b4b
Violet
50
#f5f3ff
100
#ede9fe
200
#ddd6fe
300
#c4b5fd
400
#a78bfa
500
#8b5cf6
600
#7c3aed
700
#6d28d9
800
#5b21b6
900
#4c1d95
950
#2e1065
Purple
50
#faf5ff
100
#f3e8ff
200
#e9d5ff
300
#d8b4fe
400
#c084fc
500
#a855f7
600
#9333ea
700
#7e22ce
800
#6b21a8
900
#581c87
950
#3b0764
Fuchsia
50
#fdf4ff
100
#fae8ff
200
#f5d0fe
300
#f0abfc
400
#e879f9
500
#d946ef
600
#c026d3
700
#a21caf
800
#86198f
900
#701a75
950
#4a044e
Pink
50
#fdf2f8
100
#fce7f3
200
#fbcfe8
300
#f9a8d4
400
#f472b6
500
#ec4899
600
#db2777
700
#be185d
800
#9d174d
900
#831843
950
#500724
Rose
50
#fff1f2
100
#ffe4e6
200
#fecdd3
300
#fda4af
400
#fb7185
500
#f43f5e
600
#e11d48
700
#be123c
800
#9f1239
900
#881337
950
#4c0519

但是当您需要自定义调色板时,您可以在 tailwind.config.js 文件的 theme 部分的 colors 键下配置您的颜色:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    colors: {
      // Configure your color palette here
    }
  }
}

在构建自定义调色板时,您可以根据自己的需求从头开始配置自定义颜色,也可以从我们包含的广泛颜色调色板中筛选颜色,以便快速入手。

使用自定义颜色

如果您想完全用自定义颜色替换默认的调色板,请直接在配置文件的 theme.colors 部分下添加您的颜色:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    colors: {
      transparent: 'transparent',
      current: 'currentColor',
      'white': '#ffffff',
      'purple': '#3f3cbb',
      'midnight': '#121063',
      'metal': '#565584',
      'tahiti': '#3ab7bf',
      'silver': '#ecebff',
      'bubble-gum': '#ff77e9',
      'bermuda': '#78dcca',
    },
  },
}

默认情况下,这些颜色将在框架的各个地方提供,您可以在其中使用颜色,比如文本颜色实用程序、边框颜色实用程序、背景颜色实用程序等等。

html
<div class="bg-midnight text-tahiti">
  <!-- ... -->
</div>

如果您想在项目中使用它们,请不要忘记包括类似 transparentcurrentColor 的值。

颜色对象语法

当你的调色板包含同一颜色的多个色调时,可以使用我们的嵌套颜色对象语法将它们方便地分组在一起:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    colors: {
      transparent: 'transparent',
      current: 'currentColor',
      'white': '#ffffff',
      'tahiti': {
        100: '#cffafe',
        200: '#a5f3fc',
        300: '#67e8f9',
        400: '#22d3ee',
        500: '#06b6d4',
        600: '#0891b2',
        700: '#0e7490',
        800: '#155e75',
        900: '#164e63',
      },
      // ...
    },
  },
}

嵌套键将与父键组合,形成类名,如 bg-tahiti-400

与 Tailwind 中的许多其他地方一样,当您想要定义没有后缀的值时,可以使用特殊的 DEFAULT 键:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    colors: {
      // ...
      'tahiti': {
        light: '#67e8f9',
        DEFAULT: '#06b6d4',
        dark: '#0e7490',
      },
      // ...
    },
  },
}

这将创建类似 bg-tahitibg-tahiti-lightbg-tahiti-dark 的类。

任意值

如果您在项目中需要一次性自定义颜色,请考虑使用 Tailwind 的任意值表示法,以根据需要生成该颜色的类,而不是将其添加到您的主题中:

html
<button class="bg-[#1da1f2] text-white ...">
  <svg><!-- ... --></svg>
  Share on Twitter
</button>

使用任意值文档中了解更多。

生成颜色

如果你想知道我们是如何自动生成每种颜色的 50-950 种色调的,坏消息是——颜色很复杂,为了获得绝对最佳的结果,我们手工挑选了 Tailwind 的所有默认颜色,通过精心平衡和实际设计测试,以确保我们对它们感到满意。

如果你正在创建自己的自定义颜色调色板,但不确定如何手工完成,UI Colors 是一个很棒的工具,可以根据任何自定义颜色为你提供一个很好的起点。

我们推荐用于构建自己的调色板的另外两个有用工具是 PalettteColorBox — 它们不会为您完成工作,但它们的界面设计非常适合进行这种工作。

使用默认颜色

如果您对项目没有完全自定义的颜色集合想法,您可以通过在配置文件中导入 tailwindcss/colors 并选择要使用的颜色来从我们的默认调色板中筛选您的颜色:

js
const colors = require('tailwindcss/colors')

module.exports = {
  theme: {
    colors: {
      transparent: 'transparent',
      current: 'currentColor',
      black: colors.black,
      white: colors.white,
      gray: colors.gray,
      emerald: colors.emerald,
      indigo: colors.indigo,
      yellow: colors.yellow,
    },
  },
}

如果您想有意限制您的颜色调色板并减少 IntelliSense 建议的类名数量,这可能会有所帮助。

颜色名称别名

您还可以将我们默认调色板中的颜色设置别名,使名称更简单、更容易记忆:

js
const colors = require('tailwindcss/colors')

module.exports = {
  theme: {
    colors: {
      transparent: 'transparent',
      current: 'currentColor',
      black: colors.black,
      white: colors.white,
      gray: colors.slate,
      green: colors.emerald,
      purple: colors.violet,
      yellow: colors.amber,
      pink: colors.fuchsia,
    },
  },
}

这对于灰色特别常见,因为在任何给定的项目中,通常只使用一个集合,能够输入 bg-gray-300 而不是 bg-neutral-300 ,这样很方便。

添加额外的颜色

如果您想要将全新的颜色添加到默认调色板中,请在配置文件的 theme.extend.colors 部分中添加它:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    extend: {
      colors: {
        brown: {
          50: '#fdf8f6',
          100: '#f2e8e5',
          200: '#eaddd7',
          300: '#e0cec7',
          400: '#d2bab0',
          500: '#bfa094',
          600: '#a18072',
          700: '#977669',
          800: '#846358',
          900: '#43302b',
        },
      }
    },
  },
}

如果您的设计需要,也可以使用 theme.extend.colors 来为现有颜色添加额外的色调:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    extend: {
      colors: {
        blue: {
          950: '#17275c',
        },
      }
    },
  },
}

禁用默认颜色

如果您想禁用任何默认颜色,最好的方法是覆盖默认颜色调色板,并只包括您想要的颜色:

js
const colors = require('tailwindcss/colors')

module.exports = {
  theme: {
    colors: {
      transparent: 'transparent',
      current: 'currentColor',
      black: colors.black,
      white: colors.white,
      gray: colors.gray,
      emerald: colors.emerald,
      indigo: colors.indigo,
      yellow: colors.yellow,
    },
  },
}

命名您的颜色

Tailwind 默认使用文字颜色名称(如红色、绿色等)和数字比例(其中 50 为浅色,900 为深色)。我们认为这对大多数项目来说是最佳选择,并发现它比使用抽象名称如 primarydanger 更容易维护。

话虽如此,你可以在Tailwind中随意命名你的颜色,如果你正在处理需要支持多个主题的项目,可能更有意义使用更抽象的名称:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    colors: {
      primary: '#5c6ac4',
      secondary: '#ecc94b',
      // ...
    }
  }
}

您可以像上面那样显式地配置这些颜色,也可以从我们的默认调色板中提取颜色并为其取别名:

js
const colors = require('tailwindcss/colors')

module.exports = {
  theme: {
    colors: {
      primary: colors.indigo,
      secondary: colors.yellow,
      neutral: colors.gray,
    }
  }
}

同样,我们建议大多数项目都遵循默认命名约定,并且只有在确实有很好的理由时才使用抽象名称。

使用 CSS 变量

如果您想将颜色定义为 CSS 变量,您需要将这些变量定义为仅颜色通道,如果您希望它们与不透明度修改器语法一起使用。

✓ 将 CSS 变量定义为没有颜色空间函数的通道

css
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --color-primary: 255 115 179;
    --color-secondary: 111 114 185;
    /* ... */
  }
}

✘ 不要包括颜色空间函数,否则不透明度修改器将无法工作

css
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    --color-primary: rgb(255 115 179);
    --color-secondary: rgb(111 114 185);
    /* ... */
  }
}

然后在配置文件中定义您的颜色,确保包括您正在使用的颜色空间以及特殊的 <alpha-value> 占位符,Tailwind 将在使用不透明度修改器时用于注入 alpha 值:

js
/** @type {import('tailwindcss').Config} */
module.exports = {
  theme: {
    colors: {
      // Using modern `rgb`
      primary: 'rgb(var(--color-primary) / <alpha-value>)',
      secondary: 'rgb(var(--color-secondary) / <alpha-value>)',

      // Using modern `hsl`
      primary: 'hsl(var(--color-primary) / <alpha-value>)',
      secondary: 'hsl(var(--color-secondary) / <alpha-value>)',

      // Using legacy `rgba`
      primary: 'rgba(var(--color-primary), <alpha-value>)',
      secondary: 'rgba(var(--color-secondary), <alpha-value>)',
    }
  }
}

以这种方式定义颜色时,请确保您的 CSS 变量格式对于您正在使用的颜色函数是正确的。如果使用现代的空格分隔语法,则需要使用空格,如果使用类似 rgbahsla 的旧函数,则需要使用逗号。

css
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    /* For rgb(255 115 179 / <alpha-value>) */
    --color-primary: 255 115 179;

    /* For hsl(198deg 93% 60% / <alpha-value>) */
    --color-primary: 198deg 93% 60%;

    /* For rgba(255, 115, 179, <alpha-value>) */
    --color-primary: 255, 115, 179;
  }
}

Released under the MIT License.