国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

TailwindCSS v3.0 正式發布!一大波新特性來襲!

開發 前端
TailwindCSS 的創始人 Adam Wathan 宣布 TailwindCSS v3.0 正式發布,帶來了一系列性能上的改進、對開發工作流的改善以及大量的新特性。

[[441172]]

大家好,我是皮湯。最近一直在研究 TailwindCSS 相關的內容,打算將其用在接下來的各種項目中,之前也寫過關于 CSS 工程化方面的文章:2021 年你需要之前的 CSS 工程化技術,今天給大家介紹一篇關于 Tailwind 最新發布的 v3.0 相關的內容。

2021 年 12 月 10 日,TailwindCSS 的創始人 Adam Wathan 宣布 TailwindCSS v3.0 正式發布,帶來了一系列性能上的改進、對開發工作流的改善以及大量的新特性。

那么這顆在 CSS 工程化領域極為耀眼的新星在 v3.0 為我們帶來了那些有趣的新特性呢?我們接下來就來一一的介紹它們。

隨時隨地的 Just-in-Time 模式

Tailwind 2.x 里面引入了一種新的模式,Just-in-Time 模式,可以保持開發和生產構建是一致的,且都是按需構建,相比之前 Tailwind 需要將所有基礎的內容進行構建來說大大提升了性能,針對任何構建工具,如 Webpack 只需要 800ms 就可以構建完成,而在之前,可能需要 30-45s。

而且得益于 JIT 模式,Tailwind 支持了 “任意值輔助類” 等一系列新的特性。

之前使用 JIT 時,需要在配置文件里面指定模式:

  1. // tailwind.config.js 
  2.  
  3. module.exports = { 
  4.  // ... 
  5.   mode: 'jit'
  6.   // ... 

然后你就可以享受到極快的構建速度,而且可以使用任意值的輔助類,如:

  1. <div class="top-[-113px]"></div> 

這在之前的 Tailwind 版本中是不允許的,如果需要覆蓋這種任意值的情況,你還是得定義一個類名,然后撰寫對應的 CSS:

  1. <div class="arbitrary-values"></div> 
  2.  
  3. <style> 
  4. .arbitrary-values { 
  5.   top: -113px; 
  6. </style>  

這種形式顯得 Tailwind 比較割裂,所以在 JIT 模式下,因為支持按需構建,所以這種任意值的形式也可以使用 Tailwind 統一的語法進行書寫。

而在 v3.0 中,Tailwind 內置了 JIT,無需在配置文件里面聲明 JIT 模式,默認就是按需構建、可使用任意輔助類、開發和生產構建方式與產物統一,避免了不一致性、還獲得了極大的性能優化。

所有的顏色都開箱即用

在 v3.0 之前,為了關注在開發模式下 CSS 體積的大小,Tailwind 必須要小心的限制可用的顏色,但是在 v3.0 之后,我們可以引入了很多新的調色板顏色,如 cyan(天藍色)、rose(玫瑰色)、fuchsia(紫紅色)、lime(酸橙色)以及 15 中灰色的陰影,而無需擔心日益增大的 CSS 文件體積。

支持有顏色的陰影

之前 Tailwind 想要以一種組合式的方式支持帶顏色的陰影是很困難的,雖然長期以來,用戶都在述求這一項功能,但是一直也沒有實現。經過 5 次失敗的嘗試,最終在 Tailwind v3.0 中實現了這項功能,現在你可以在 Tailwind 中使用這些有顏色的陰影了:

比如下述代碼:

  1. <button class="bg-cyan-500 shadow-lg shadow-cyan-500/50 ...">Subscribe</button> 
  2. <button class="bg-blue-500 shadow-lg shadow-blue-500/50 ...">Subscribe</button> 
  3. <button class="bg-indigo-500 shadow-lg shadow-indigo-500/50 ...">Subscribe</button> 

可以得到如下的效果:

滾動捕捉 API

我們加入了一個完善的用于實現 CSS 滾動捕捉模塊的輔助類集合,使得你可以直接在 HTML 里面實現非常豐富的滾動捕捉的效果:

什么是滾動捕捉?也就是滑動到下一個 Item 時,可以選擇滑動到此 Item 的某個位置,比如下列的定位在圖片中間。

而上面的效果只需要如下的較為簡單的 Tailwind 輔助類:

  1. <div class="snap-x ..."
  2.   <div class="snap-center ..."
  3.     <img src="https://images.unsplash.com/photo-1604999565976-8913ad2ddb7c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  4.   </div> 
  5.   <div class="snap-center ..."
  6.     <img src="https://images.unsplash.com/photo-1540206351-d6465b3ac5c1?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  7.   </div> 
  8.   <div class="snap-center ..."
  9.     <img src="https://images.unsplash.com/photo-1622890806166-111d7f6c7c97?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  10.   </div> 
  11.   <div class="snap-center ..."
  12.     <img src="https://images.unsplash.com/photo-1590523277543-a94d2e4eb00b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  13.   </div> 
  14.   <div class="snap-center ..."
  15.     <img src="https://images.unsplash.com/photo-1575424909138-46b05e5919ec?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  16.   </div> 
  17.   <div class="snap-center ..."
  18.     <img src="https://images.unsplash.com/photo-1559333086-b0a56225a93c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  19.   </div> 
  20. </div> 

在一個 snap 容器里,snap-center、snap-start 等是用于滾動定位的設置項,而 Scroll Margin 則是用于設置相對于定位的偏移,使用形如 scroll-m{side}-{size} 這樣的格式進行設置,如 scroll-ml-6 ,則是相對左邊再偏移 6 個單位的長度:

  1. <div class="snap-x ..."
  2.   <div class="scroll-ml-6 snap-start ..."
  3.     <img src="https://images.unsplash.com/photo-1604999565976-8913ad2ddb7c?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  4.   </div> 
  5.   <div class="scroll-ml-6 snap-start ..."
  6.     <img src="https://images.unsplash.com/photo-1540206351-d6465b3ac5c1?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  7.   </div> 
  8.   <div class="scroll-ml-6 snap-start ..."
  9.     <img src="https://images.unsplash.com/photo-1622890806166-111d7f6c7c97?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  10.   </div> 
  11.   <div class="scroll-ml-6 snap-start ..."
  12.     <img src="https://images.unsplash.com/photo-1590523277543-a94d2e4eb00b?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  13.   </div> 
  14.   <div class="scroll-ml-6 snap-start ..."
  15.     <img src="https://images.unsplash.com/photo-1575424909138-46b05e5919ec?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=320&h=160&q=80" /> 
  16.   </div> 
  17. </div> 

如上述代碼,snap-center 則會在滾動的時候定位在圖片的開始位置,而加了 scroll-ml-6 之后,會再相對左邊偏移 6 個單位,變成如下效果:

多列布局

我們加入了 columns 列布局支持,也被稱之為 “新聞版式布局” 類型,這種布局非常有用,同時應用在底部的導航欄布局設計時也是非常有用的。

如我們大多數網站底部的多列導航欄設計,以 Tailwind 官網為例:

當你使用對應的輔助類如下時:

  1. <div class="columns-1 sm:columns-3 ..."
  2.   <p>...</p> 
  3.   <!-- ... --> 
  4. </div> 

你可以獲得如下的效果:

原生的表單控制樣式

我們加入了對 CSS accent-color 屬性的支持,如為表單里面的文件輸入框按鈕添加樣式,這使得你能夠細粒度的為原生的表單控制按鈕添加樣式,如下代碼:

  1. <form> 
  2.   <div class="flex items-center space-x-6"
  3.     <div class="shrink-0"
  4.       <img class="h-16 w-16 object-cover rounded-full" src="https://images.unsplash.com/photo-1580489944761-15a19d654956?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1361&q=80" alt="Current profile photo" /> 
  5.     </div> 
  6.     <label class="block"
  7.       <span class="sr-only">Choose profile photo</span> 
  8.       <input type="file" class="block w-full text-sm text-gray-500 
  9.         file:mr-4 file:py-2 file:px-4 
  10.         file:rounded-full file:border-0 
  11.         file:text-sm file:font-semibold 
  12.         file:bg-violet-50 file:text-violet-700 
  13.         hover:file:bg-violet-100 
  14.       "/> 
  15.     </label> 
  16.   </div> 
  17.   <label class="mt-6 flex items-center justify-center space-x-2 text-sm font-medium text-gray-600"
  18.     <input type="checkbox" class="accent-violet-500" checked/> 
  19.     <span>Yes, send me all your stupid updates</span> 
  20.   </label> 
  21. </form> 

可以獲得如下效果:

為選擇文件前:

選擇文件后:

打印修飾符

我們添加了 print 修飾符,使得你可以在用戶打印你的網站時如何展現:

  1. <div> 
  2.   <article class="print:hidden"
  3.     <h1>My Secret Pizza Recipe</h1> 
  4.     <p>This recipe is a secret, and must not be shared with anyone</p> 
  5.     <!-- ... --> 
  6.   </article> 
  7.   <div class="hidden print:block"
  8.     Are you seriously trying to print this? It's secret! 
  9.   </div> 
  10. </div> 

比如上述的代碼邏輯為,在打印模式下,第一個 article 塊不展示,而 div 塊展示。

現代 aspect ratio API

我們添加了原生的 aspect ratio ****屬性的支持,因為現在瀏覽器的支持度已經非常高了,即我們可以獲得比較完美的橫縱比。

比如如下代碼,可以設置視頻的最佳橫縱比:

  1. <iframe class="w-full aspect-video ..." src="https://www.youtube.com/..."></iframe> 

上述代碼得到如下結果:

[[441174]]

好看的下劃線樣式

我們現在也支持修改下劃線的顏色、粗細等屬性了~

如下面的代碼:

  1. <p> 
  2.   I’m Derek, an astro-engineer based in Tatooine. I like to build X-Wings at 
  3.   <a href="#" class="underline decoration-sky-500 decoration-2">My Company, Inc</a>. Outside of work, I 
  4.   like to <a href="#" class="underline decoration-pink-500 decoration-dotted decoration-2">watch pod-racing</a> 
  5.   and have <a href="#" class="underline decoration-indigo-500 decoration-wavy decoration-2">light-saber</a> 
  6.   fights. 
  7. </p> 

可以得到如下的效果:

RTL 與 LTR 修飾符

我們也加入了對 RTL(從右到左)與 LTR(從做到右)等多方向布局的實驗性支持,如下代碼:

  1. <div class="group flex items-center"
  2.   <img class="shrink-0 h-12 w-12 rounded-full" src="..." alt="" /> 
  3.   <div class="ltr:ml-3 rtl:mr-3"
  4.     <p class="text-sm font-medium text-gray-700 group-hover:text-gray-900">...</p> 
  5.     <p class="text-sm font-medium text-gray-500 group-hover:text-gray-700">...</p> 
  6.   </div> 
  7. </div> 

 可以獲得如下效果:

Portrait 與 Landscape 修飾符

我們也添加了在不同屏幕方向的修飾符支持,如 portrait (豎屏)、landscape (橫屏)修飾符,使得你可以通過不同的修飾符控制在對應屏幕方向上的樣式:

  1. <div> 
  2.   <div class="portrait:hidden"
  3.     <!-- ... --> 
  4.   </div> 
  5.   <div class="landscape:hidden"
  6.     <p> 
  7.       This experience is designed to be viewed in landscape. Please rotate your 
  8.       device to view the site. 
  9.     </p> 
  10.   </div> 
  11. </div> 

任意值輔助類支持

雖然看起來不太合理,但是我們依然添加了任意 CSS 值的 Tailwind 輔助類,并使得你可以結合 hover 、lg 等修飾符使用:

  1. <div class="[mask-type:luminance] hover:[mask-type:alpha]"
  2.   <!-- ... --> 
  3. </div> 

或者像 56px 或者 44px 這種任意值,與 lg 修飾符一起使用:

  1. <div class="[--scroll-offset:56px] lg:[--scroll-offset:44px]"
  2.   <!-- ... --> 
  3. </div> 

使用 CDN 來使用 Tailwind

目前沒有一個很好的基于 CSS 的 CDN 方式來使用 Tailwind CSS v3.0,所以我們構建了一個 JavaScript 庫來幫助你使用它:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3.   <head> 
  4.     <meta charset="utf-8"
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
  6.     <title>Example</title> 
  7.     <script src="https://cdn.tailwindcss.com/"></script> 
  8.   </head> 
  9.   <body> 
  10.     <!-- --> 
  11.   </body> 
  12. </html> 

這種方式僅限于在開發環境下使用,或者當你想構建一個 demo 或者想要嘗試一個有趣的想法時,你可以這樣使用。只需要在任何想要使用 Tailwind 特性的 HTML 文檔里添加 script 標簽來引用 https://cdn.tailwindcss.com/ 即可。

以上就是 TailwindCSS v3.0 更新的全部特性了,看到這里,你覺得 TailwindCSS v3.0 怎么樣呢?你做好將其用于生產、或者加入構建你下一個應用時的工具箱的準備了🐴?

 

責任編輯:姜華 來源: 程序員巴士
相關推薦

2025-06-27 08:45:43

2023-11-15 20:51:18

TypeScript前端

2015-08-03 11:50:18

灌水動畫

2015-10-15 11:15:32

阿里云云棲大會云計算

2015-05-19 13:58:50

iPhone

2024-06-13 09:02:30

2018-04-12 14:56:49

Android劉海屏技巧

2020-04-24 12:48:01

新基建物聯網IOT

2017-03-07 12:42:44

騫云科技

2015-08-20 09:27:16

2016-03-11 18:44:32

2020-02-24 09:45:06

WindowsWindows 10微軟

2023-07-06 16:41:55

iOS 17蘋果

2014-12-11 10:28:48

Ucloud

2018-03-08 10:24:43

蘋果劉海屏安卓

2017-09-07 10:07:07

酷睿筆記本英特爾

2021-06-09 16:57:21

Windows 10Windows操作系統

2015-04-23 20:56:22

Unity

2017-01-12 20:29:19

存儲術語DevOps

2017-09-04 14:23:14

英特爾筆記本酷睿處理器
點贊
收藏

51CTO技術棧公眾號

国产精品欧美激情| 僵尸世界大战2 在线播放| 99国产精品久久久久| 免费电影日韩网站| 亚洲欧美日韩国产yyy | 琪琪一区二区三区| 中文精品电影| 成人av高清在线| 啦啦啦中文在线观看日本| 亚洲高清免费在线观看| 男人操女人逼免费视频| 久久精品免费一区二区| 91视频最新入口| 成人精品小视频| 999sesese| 美丽的小蜜桃4春潮| 中文字幕免费在线| 成人午夜电影在线观看| 成人免费高清在线播放| 国产一级黄色电影| 日韩毛片在线免费看| 一本色道久久88亚洲精品综合 | 午夜精品久久久久久久白皮肤| 亚洲欧美日韩一区| 欧美成人a交片免费看| 欧美巨大另类极品videosbest| 日本91福利区| 老司机在线精品视频| 免费萌白酱国产一区二区三区| 91超碰在线免费| 交换国产精品视频一区| 色一情一乱一伦一区二区三区丨 | 一区二区三区四区精品在线视频| 韩日欧美一区二区三区| 天天综合久久| 在线日本视频| 国产精品久久久毛片| 三区精品视频观看| 精品国产免费久久久久久尖叫| 69久久夜色精品国产69| 亚洲欧洲xxxx| 在线观看亚洲专区| 欧美视频免费在线观看| 中文字幕一区免费在线观看| 精品在线一区二区| 亚洲免费毛片网站| 中文字幕乱码久久午夜不卡| 91理论电影在线观看| 秋霞国产午夜精品免费视频| 一区在线视频观看| 欧美午夜不卡| 久久精品青草| 久久国产麻豆精品| 成人h动漫精品一区二区| 欧美a级理论片| 亚洲欧洲日本mm| 美女脱光内衣内裤视频久久影院| 亚洲最黄网站| 午夜亚洲性色福利视频| 国产河南妇女毛片精品久久久 | 在线观看免费国产小视频| 色吊丝在线永久观看最新版本| 两个人hd高清在线观看| 国产一区二区网| 国产又大又黄又粗的视频| 污污网站免费观看| 高清毛片aaaaaaaa**| 高清hd写真福利在线播放| 男人的天堂www| 丁香在线视频| 三妻四妾的电影电视剧在线观看| 亚洲小说区图片| 欧美91看片特黄aaaa| 青青九九免费视频在线| 日本免费一区二区六区| 国产一区三区在线播放| 蜜臀av在线播放一区二区三区| 亚洲色图视频网站| 亚洲免费伊人电影在线观看av| 欧美一性一乱一交一视频| 日韩高清在线播放| 大地资源高清播放在线观看| 精品成人免费一区二区在线播放| 欧美xxxx中国| 久久久精品欧美丰满| 精品国产百合女同互慰| 日韩欧美三级电影| 超碰人人爱人人| 亚洲一区影院| 黄色小网站91| 欧美一区二区三区综合| 国产911网站| 亚洲kkk444kkk在线观看| 香蕉大人久久国产成人av| 黄色在线免费网站| 免费av片风间由美在线| 麻豆电影在线| lutube成人福利在线观看| 青青伊人久久| 日韩精品一二三| 亚洲综合图片区| bt天堂新版中文在线地址| 亚洲精品国产精品国自产观看浪潮| 日韩av中文字幕在线免费观看| 亚州精品天堂中文字幕| 久久精品中文字幕一区二区三区 | 精品久久久久一区| 久久免费视频网站| 亚洲国产精品久久久久婷婷884| 日韩深夜影院| 红桃视频亚洲| 国产精品综合二区| 欧美人与拘性视交免费看| 一区在线播放| 97精品久久久午夜一区二区三区| 精品国产91乱码一区二区三区 | 一道本一区二区三区| 久久九九精品视频| 日韩精品亚洲专区| 亚洲第一福利一区| 欧美激情亚洲激情| 国产亚洲欧美另类一区二区三区| 1pon在线| 97久久网站| 日韩成人精品在线| 亚洲精品网站在线播放gif| 国产精品二区在线观看| 尤物视频在线免费观看| 97精品国产一区二区三区| 欧美色精品在线视频| 国内成+人亚洲| 在线观看涩涩| 东方欧美亚洲色图在线| 亚洲电影免费观看高清| 久久66热这里只有精品| 粉嫩欧美一区二区三区| 猫咪成人在线观看| 亚洲一二三专区| 久久久99国产精品免费| 欧美13~18sex性hd| 亚洲精品国模| 亚洲高清在线精品| 亚洲一区二区三区在线视频| 成人77777| 伊人激情综合| 欧美精品免费视频| 91制片厂免费观看| 欧美一级片免费播放| 久久资源中文字幕| 91精品在线观看入口| 国产毛片久久久久久国产毛片| 精品欧美视频| 91久久精品一区二区| 精品少妇在线视频| 人人视频精品| 91蜜桃婷婷狠狠久久综合9色| 国产成人精品电影久久久| 高清一区二区三区日本久| 在线亚洲+欧美+日本专区| 亚洲高清视频一区二区| 国产精品久久国产精麻豆99网站| 美女视频黄a视频全免费观看| 国产精品x8x8一区二区| 亚洲综合免费观看高清完整版在线 | 久久人人97超碰国产公开结果| 欧美男人的天堂一二区| 国产精品久久久久久久久久10秀| 国产综合免费视频| 国产亚洲成av人片在线观黄桃| 欧美在线影院一区二区| 人妻av无码专区| 国产成人影院| 日韩一区二区三区精品视频| 国产自产在线视频| 欧美ab在线视频| 伊人男人综合视频网| 久久久久久久久亚洲精品| 日韩毛片高清在线播放| 日韩videos| 8848成人影院| 亚洲精品国产精品乱码不99按摩 | 国产日韩中文在线| 日韩精品专区| 欧美精品一区视频| 欧美承认网站| 午夜精品福利一区二区蜜股av | 久久精品国产999大香线蕉| 国产成人精品久久二区二区91| 色777狠狠狠综合伊人| 日韩小视频网址| 亚洲区综合中文字幕日日| 亚洲一区二区三区久久| 天天射综合网视频| 国产精品欧美日韩| 99精品网站| 欧美18视频| 精精国产xxxx视频在线野外| 国产精品av网站| 欧美 日韩 国产 一区| 91免费高清视频|