91 lines
2.7 KiB
TypeScript
91 lines
2.7 KiB
TypeScript
import type { Config } from 'tailwindcss'
|
|
|
|
const config: Config = {
|
|
content: [
|
|
'./pages/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./components/**/*.{js,ts,jsx,tsx,mdx}',
|
|
'./app/**/*.{js,ts,jsx,tsx,mdx}',
|
|
],
|
|
darkMode: 'class',
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
primary: {
|
|
50: '#f0f9ff',
|
|
100: '#e0f2fe',
|
|
200: '#bae6fd',
|
|
300: '#7dd3fc',
|
|
400: '#38bdf8',
|
|
500: '#0ea5e9',
|
|
600: '#0284c7',
|
|
700: '#0369a1',
|
|
800: '#075985',
|
|
900: '#0c4a6e',
|
|
},
|
|
},
|
|
borderRadius: {
|
|
'apple': '12px',
|
|
'card': '16px', // 标准卡片圆角
|
|
'card-lg': '24px', // 大卡片圆角
|
|
},
|
|
boxShadow: {
|
|
'apple': '0 4px 12px rgba(0, 0, 0, 0.08)',
|
|
'apple-lg': '0 8px 24px rgba(0, 0, 0, 0.12)',
|
|
'card': '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
|
|
'card-hover': '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',
|
|
'card-lg': '0 25px 50px -12px rgba(0, 0, 0, 0.15)',
|
|
},
|
|
spacing: {
|
|
'card': '24px', // 标准卡片内边距
|
|
'section': '32px', // 区块间距
|
|
},
|
|
animation: {
|
|
'spin-slow': 'spin 3s linear infinite',
|
|
'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
|
|
'shimmer': 'shimmer 2s infinite',
|
|
'glow': 'glow 2s ease-in-out infinite alternate',
|
|
'float': 'float 3s ease-in-out infinite',
|
|
'gradient': 'gradient 8s ease infinite',
|
|
'fadeInSlideDown': 'fadeInSlideDown 0.3s ease-out forwards',
|
|
'slide-in-from-top-2': 'slide-in-from-top-2 0.2s cubic-bezier(0.16, 1, 0.3, 1)',
|
|
},
|
|
keyframes: {
|
|
shimmer: {
|
|
'0%': { transform: 'translateX(-100%)' },
|
|
'100%': { transform: 'translateX(100%)' },
|
|
},
|
|
glow: {
|
|
'0%': { opacity: '0.5', transform: 'scale(1)' },
|
|
'100%': { opacity: '1', transform: 'scale(1.05)' },
|
|
},
|
|
float: {
|
|
'0%, 100%': { transform: 'translateY(0px)' },
|
|
'50%': { transform: 'translateY(-10px)' },
|
|
},
|
|
gradient: {
|
|
'0%, 100%': { backgroundPosition: '0% 50%' },
|
|
'50%': { backgroundPosition: '100% 50%' },
|
|
},
|
|
fadeInSlideDown: {
|
|
'0%': { opacity: '0', transform: 'translateY(-8px)' },
|
|
'100%': { opacity: '1', transform: 'translateY(0)' },
|
|
},
|
|
'slide-in-from-top-2': {
|
|
'0%': {
|
|
opacity: '0',
|
|
transform: 'translateY(-8px) scale(0.95)'
|
|
},
|
|
'100%': {
|
|
opacity: '1',
|
|
transform: 'translateY(0) scale(1)'
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
plugins: [],
|
|
}
|
|
|
|
export default config
|
|
|