Windi CSS 指令

2023-02-16 17:58 更新

您可以結(jié)合使用指令和 CSS 來利用可用的實用程序。

@apply

使用 @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

您可以通過將它們的定義包裝在 @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

@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

@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()

theme() 函數(shù)允許您使用點表示法訪問您的配置值。

.btn-blue {
  background-color: theme("colors.blue.500");
}

生成的 CSS

.btn-blue {
  background-color: #3b82f6;
}


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號