Windi CSS 捷径
当您处理类似的实用程序集时,重复是很常见的。我们提供此“快捷方式”功能,允许您提供实用程序名称的组合,您可以在应用程序内的任何地方重复使用这些名称,而无需自己重复。
只需将快捷方式字段添加到您的配置中:
windi.config.js
export default {
theme: {
/* ... */
},
shortcuts: {
'btn': 'py-2 px-4 font-semibold rounded-lg shadow-md',
'btn-green': 'text-white bg-green-500 hover:bg-green-700',
},
}
btn btn-green
配置
{
shortcuts: {
btn: 'py-2 px-4 font-semibold rounded-lg shadow-md',
'btn-green': 'text-white bg-green-500 hover:bg-green-700',
},
}
.btn { border-radius: 0.5rem; font-weight: 600; padding-top: 0.5rem; padding-bottom: 0.5rem; padding-left: 1rem; padding-right: 1rem; --tw-shadow: 0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1); --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color); -webkit-box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow); box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow); } .btn-green { --tw-bg-opacity: 1; background-color: rgba(16, 185, 129, var(--tw-bg-opacity)); --tw-text-opacity: 1; color: rgba(255, 255, 255, var(--tw-text-opacity)); } .btn-green:hover { --tw-bg-opacity: 1; background-color: rgba(4, 120, 87, var(--tw-bg-opacity)); }
复杂的实用程序也支持 CSS-in-JS 语法:
windi.config.js
export default {
theme: {
/* ... */
},
shortcuts: {
'btn': {
'color': 'white',
'@apply': 'py-2 px-4 font-semibold rounded-lg',
'&:hover': {
'@apply': 'bg-green-700',
'color': 'black',
},
},
'btn-green': 'text-white bg-green-500 hover:bg-green-700',
},
}
btn btn-green
配置
{
shortcuts: {
btn: {
color: 'white',
'@apply': 'py-2 px-4 font-semibold rounded-lg',
'&:hover': {
'@apply': 'bg-green-700',
color: 'black',
},
},
'btn-green': 'text-white bg-green-500 hover:bg-green-700',
},
}
该配置添加的实用程序也可以直接包装在变体中,例如 sm:btn。此功能的目的类似于 @apply 指令,它将所有实用程序合并为一种样式。