TailWind CSS 文檔 函數(shù)與指令

說明:此系列文章是個人對Tailwind CSS官方文檔的翻譯俘闯,不是很嚴謹蓝厌,請諒解激率。

函數(shù)與指令

@tailwind

@tailwind指令來把 tailwind的base,components, utlitiesscreen樣式添加到自己的CSS中。

/**
* 這個指令用來注入tailwind的基礎樣式和用插件注冊的樣式
*/
@tailwind base;
/**
* 這個指令用來注入tailwind的組件類和用插件注冊的組件類
*/
@tailwind components;
/**
* 這個指令用來注入tailwind的工具類和用插件注冊的工具類
*/
@tailwind utilities;
/**
* 這個指令用來控制tailwind注冊每個工具類的響應式變體的位置
* 如果省略不寫的話懈词,tailwind會默認把這些類添加到你的style頁面的最底部
*/
@tailwind screens;
@apply

@apply指令來將已有的工具類列入你的自定義CSS中

  1. 當你想把哪個HTML中的工具類提取到新組件中的時候楔绞,就可以用這個指令
  2. 規(guī)則可以一行列出來结闸,也可以多行使用@apply
  3. 當然唇兑,把@apply聲明和普通的CSS聲明混在一起寫也是OK的
.btn {
    @apply font-bold py-2 px-4 rounded;
}
.btn {
    @apply font-bold;
    @appky py-2;
    @apply px-4;
    @apply rounded;
}
.btn:hover {
    apply bg-blue-700;
    transform: translateY(-1px);
}
  1. 為避免特異性問題酒朵,如果用@apply列出的規(guī)則里面如果有!important的話,!important會被自動刪除
  2. 如果想用@apply來列入一個已有的類扎附,而且想把它!important的話蔫耽,只需要把!important加在聲明的末尾就OK了
  3. 注意,如果你現(xiàn)在項目中用著Sass或者SCSS的話留夜,就得用Sass 的插值屬性才好使
/* ?案例一 */
.foo {
    color: blue !important;
}
.bar {
    @apply foo;
}
/* 上面的相當于?? */
.bar {
    color: blue;
}
/* ?案例二 */
.btn {
    @apply font-bold py-2 px-4 rounded !important;
}
/* 相當于?? */
.btn {
    font-weight: 700 !important;
    padding-top: .5rem !important;
    padding-bottom: .5rem !important;
    padding-right: 1rem !important;
    padding-left: 1rem !important;
    border-radius: .25rem !important;
}
.btn {
    @apply font-bold py-2 px-4 rounded #{!important};
}

得記住了匙铡,用@apply指令給其他工具類的偽類變體、響應式變體在行內(nèi)進行列舉是行不通的碍粥。而是應該將這個類的普通版本賦予到相應的偽類選擇器或新媒體查詢中鳖眼。

/* 無效寫法 */
.btn {
    @apply block bg-red-500;
    @apply hover:bg-blue-500;
    @apply md:inline-block;
}

/* 正確寫法 */
.btn {
    @apply block bg-red-500;
}
.btn:hover {
    @apply bg-blue-500;
}
@screen md {
    .btn {
        @apply inline-block;
    }
}

如果你給工具類配置了前綴,但是想采用更簡潔的語法的話嚼摩,可以選擇在使用@apply指令的時候省略前綴:

/* 下面兩種都是有效寫法 */
.btn {
    @apply te-font-bold tw-py-2 tw-px-4 tw-rounded;
}
.btn {
    @apply font bold py-2 px-4 rounded;
}
variants

@variants 指令可以用來生成自定義工具類的變體钦讳,諸如 responsive, hover, active之類矿瘦,只需要把定義語句包裹在@variants指令中。(詳見響應式設計與偽類變體章節(jié))

@responsive

如果想要生成自定義類的響應式變體的話愿卒,可以用@responsve指令來啊包裹這些類的定義缚去。

@responsive {
    .bg-gradient-brand {
        background-image: linear-gradient(blue, green);
    }
}
/* 根據(jù)自定義斷點,上面的代碼會生成下面的類?? */
@media (min-width: 640px){
    .sm\:bg-gradient-brand {
        background-image: linear-gradient(blue, green);
    }
    /* ... */
}
@media (min-width: 768px){
    .md\:bg-gradient-brand {
        background-image: linear-gradient(blue, green);
    }
    /* ... */
}
@media (min-width: 1024px){
    .lg\:bg-gradient-brand {
        background-image: linear-gradient(blue, green);
    }
    /* ... */
}
@media (min-width: 1280px){
    .xl\:bg-gradient-brand {
        background-image: linear-gradient(blue, green);
    }
    /* ... */
}

上面的響應式變體會在你的樣式頁面末尾被添加到tailwind已有的媒體查詢中琼开,以確保帶有響應式前綴的類總是比規(guī)定相同CSS屬性的非響應式類更強易结。

@screen

@screen指令允許你通過名字來創(chuàng)建媒體查詢,而不用非得在自己的CSS里面復制他們的值柜候。

例如搞动,假設你在 640px 處有個sm斷點,而且你現(xiàn)在要根據(jù)這個斷點寫一些自定義CSS語句來渣刷,就不用像下邊這樣寫個復制斷點值的原生媒體查詢:

@media (min-width: 640px) {
    /* ... */
}

@screen指令的話滋尉,直接用斷點名稱來參考就行了:

@screen sm {
    /* ... */
}
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市飞主,隨后出現(xiàn)的幾起案子狮惜,更是在濱河造成了極大的恐慌,老刑警劉巖碌识,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碾篡,死亡現(xiàn)場離奇詭異,居然都是意外死亡筏餐,警方通過查閱死者的電腦和手機开泽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來魁瞪,“玉大人穆律,你說我怎么就攤上這事〉挤” “怎么了峦耘?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長旅薄。 經(jīng)常有香客問我辅髓,道長,這世上最難降的妖魔是什么少梁? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任洛口,我火速辦了婚禮,結(jié)果婚禮上凯沪,老公的妹妹穿的比我還像新娘第焰。我一直安慰自己,他們只是感情好妨马,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布挺举。 她就那樣靜靜地躺著而叼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪豹悬。 梳的紋絲不亂的頭發(fā)上葵陵,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機與錄音瞻佛,去河邊找鬼脱篙。 笑死,一個胖子當著我的面吹牛伤柄,可吹牛的內(nèi)容都是我干的绊困。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼适刀,長吁一口氣:“原來是場噩夢啊……” “哼秤朗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起笔喉,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤取视,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后常挚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體作谭,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年奄毡,在試婚紗的時候發(fā)現(xiàn)自己被綠了折欠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吼过,死狀恐怖锐秦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盗忱,我是刑警寧澤酱床,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站售淡,受9級特大地震影響斤葱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜揖闸,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望料身。 院中可真熱鬧汤纸,春花似錦、人聲如沸芹血。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啃擦,卻和暖如春囊蓝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背令蛉。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工聚霜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人珠叔。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓蝎宇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親祷安。 傳聞我的和親對象是個殘疾皇子姥芥,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 說明:此系列文章是個人對Tailwind CSS官方文檔的翻譯,不是很嚴謹汇鞭,請諒解凉唐。 添加工具類 盡管tailwi...
    你當溫柔又有力量閱讀 2,127評論 0 2
  • 說明:此系列文章是個人對Tailwind CSS官方文檔的翻譯,不是很嚴謹霍骄,請諒解熊榛。 提取組件 處理重復、使工具類...
    你當溫柔又有力量閱讀 2,455評論 0 2
  • 一般的UI中CSS框架都是內(nèi)建各種預設的組件腕巡,比如按鈕玄坦、卡片、警告框等绘沉,當需要通過定制化設計時煎楣,組件的高度耦合性則...
    JunChow520閱讀 3,335評論 0 2
  • 1.1CSS 基礎與選擇器初識 | CSS 1. CSS 加載方式有幾種? CSS樣式加載一共有四種方式: 1车伞、行...
    沒糖_cristalle閱讀 720評論 0 0
  • 說明:此系列文章是個人對Tailwind CSS官方文檔的翻譯择懂,不是很嚴謹,請諒解另玖。 偽類變體 用適合的偽類困曙,可以...
    你當溫柔又有力量閱讀 4,613評論 0 0