您可以結(jié)合使用指令和 CSS 來利用可用的實用程序。
使用 @apply 將任何現(xiàn)有實用程序類內(nèi)聯(lián)到您的樣式塊中。
當(dāng)您在 HTML 中找到您想要提取到新組件的通用實用程序模式時,這很有用。
.btn {
@apply font-bold py-2 px-4 rounded;
}
.btn-blue {
@apply bg-blue-500 hover:bg-blue-700 text-white;
padding-top: 1rem;
}
生成的 CSS
.btn {
border-radius: 0.25rem;
font-weight: 700;
padding-top: 0.5rem;
padding-bottom: 0.5rem;
padding-left: 1rem;
padding-right: 1rem;
}
.btn-blue {
--tw-bg-opacity: 1;
background-color: rgba(59, 130, 246, var(--tw-bg-opacity));
--tw-text-opacity: 1;
color: rgba(255, 255, 255, var(--tw-text-opacity));
padding-top: 1rem;
}
.btn-blue:hover {
--tw-bg-opacity: 1;
background-color: rgba(29, 78, 216, var(--tw-bg-opacity));
}
如果你想@apply一個現(xiàn)有的類并使其成為!important,只需在聲明的末尾添加!important:
.btn {
@apply font-bold py-2 px-4 rounded !important;
}
生成的 CSS
.btn {
border-radius: 0.25rem !important;
font-weight: 700 !important;
padding-top: 0.5rem !important;
padding-bottom: 0.5rem !important;
padding-left: 1rem !important;
padding-right: 1rem !important;
}
您可以通過將它們的定義包裝在 @variants 指令中來生成您自己的實用程序的屏幕變體、狀態(tài)變體、主題變體。
@variants focus, hover {
.rotate-0 {
transform: rotate(0deg);
}
.rotate-90 {
transform: rotate(90deg);
}
}
@variants dark {
.bg-color {
background-color: #1c1c1e;
}
}
生成的 CSS
.rotate-0:focus {
transform: rotate(0deg);
}
.rotate-90:focus {
transform: rotate(90deg);
}
.rotate-0:hover {
transform: rotate(0deg);
}
.rotate-90:hover {
transform: rotate(90deg);
}
.dark .bg-color {
background-color: #1c1c1e;
}
@screen 指令允許您創(chuàng)建按名稱引用斷點的媒體查詢,而不是在您自己的 CSS 中復(fù)制它們的值。
@screen sm {
.custom {
@apply text-lg;
}
}
生成的 CSS
@media (min-width: 640px) {
.custom {
font-size: 1.125rem;
line-height: 1.75rem;
}
}
@layer 指令設(shè)置每個類的應(yīng)用順序。有效層是基礎(chǔ)層、組件層和實用程序?qū)印?/p>
@layer components {
.components {
@apply bg-red-500;
}
}
@layer utilities {
.utilities {
max-width: 768px;
}
}
@layer base {
base {
margin-left: auto;
}
}
.normal {
margin-right: auto; /* components by default */
}
生成的 CSS
.components {
--tw-bg-opacity: 1;
background-color: rgba(239, 68, 68, var(--tw-bg-opacity));
}
.utilities {
max-width: 768px;
}
base {
margin-left: auto;
}
.normal {
margin-right: auto;
}
theme() 函數(shù)允許您使用點表示法訪問您的配置值。
.btn-blue {
background-color: theme("colors.blue.500");
}
生成的 CSS
.btn-blue {
background-color: #3b82f6;
}
更多建議: