Tailwind CSS
原作者 | Adam Wathan, Steve Schoger |
---|---|
开发者 | Tailwind Labs[1] |
当前版本 | 3.4.14[2](2024年10月15日) |
源代码库 | |
编程语言 | TypeScript, Rust, CSS[3] |
平台 | Node.js |
语言 | English |
许可协议 | MIT许可证 [4] |
网站 | tailwindcss.com |
Tailwind CSS是一个开放源代码CSS框架。这个工具库的主要特点是,Bootstrap5 utilities 概念接近,与jQuery UI等其他 CSS 框架不同,没有为按钮或表格等元素提供一系列预定义类。相对的,会创建一个“工具程序型(Utility)”CSS 类别列表,这些类别可用于通过混搭和媒合来设置每个元素的样式。[5][6]
例如,在其他传统系统中,会有一个message-warning
类型并套用黄色背景颜色和粗体文字。要在 Tailwind 中实现如此结果,就必须套用由工具库建立的一组类别:bg-yellow-200
font-bold
。
特征
[编辑]由于与 Bootstrap 等预处理CSS概念不同,因此了解 Tailwind 后处理如何建立的理念及其基本用法非常重要。
工具程序类别(Utility Classes)-
[编辑]工具程序优先概念是指 Tailwind 的主要差异化特征。[7] 而非围绕在组件(按钮、面板、菜单、文字框...)类别,而是围绕特定样式元素(黄色、粗体、非常大的文本、中心元素...)类别。这些类别内的每一个都称为工具程序类别。TailwindCSS 中有许多工具程序类别,可以控制大量 CSS 属性,如颜色、边框、显示类型(显示)、字体大小和字体、排版、阴影......
变量
[编辑]Tailwind 提供了仅在某些情况下通过媒体查询(Media Query)工具程序类别的可能性,这称为变量。变量的主要用途是为各种屏幕尺寸设计响应式用户界面。[8] 元素可以具有的不同状态也有变量,例如鼠标悬停时hover:
,键盘选择时focus:
或按下鼠标时active:
,[9] 或者当浏览器或操作系统开启了暗模式(dark mode)时。[10]
变量有两个部分:要满足的条件和满足条件时套用的类型。例如,如果屏幕尺寸大于为 md
定义的值,则使用变量 md:bg-yellow-400
将会应用类别 bg-yellow-400
。
Tailwind CSS 使用 JavaScript 开发,通过 Node.js 执行,使用环境包装管理工具(如 npm 或 yarn)安装。[3]
设置和布景
[编辑]可以通过名为 tailwind.config.js
的配置文件案设置 Tailwind 提供的工具程序类别和变量。在设置中,您可以设置工具程序类别的值,例如调色板或边距元素之间的大小。
全部建置与消除
[编辑]Tailwind 的默认模式是系统根据项目设置产生所有可能的 CSS 组合。然后,通过另一个工具程序(如 PurgeCSS),走访所有文件,并从产生的 CSS 文件中删除未使用的类别。由于变量的数量与其组合可以产生的类别的数量,这种方法的缺点是等待时间长,并且在消除之前的 CSS 文件很大。此操作模式在 Tailwind CSS 版本 3 中不再可用。[11]
即时编译(JIT)
[编辑]即时编译模式 (Just-In-Time) 是产生 CSS 的另一种方法,此方法并不是生成所有可能的类别,再删除所有未使用的类别,而是解析 HTML 文件的内容(或设置的扩展名或路径位置)和立即只产生那些所需要使用的类别。因为不再产生所有可能的变量,因而大幅减少了产生的 CSS 的等待时间和大小。这种技术改良使得引入许多新的变量和工具程序类别成为可能,以及使用未在设置中设置的任意值动态建立工具程序类别的能力。
从 Tailwind CSS 版本 3 开始,即时编译模式将成为默认模式。[11]
版本
[编辑]Tailwind CSS 使用语义版本控制来识别其版本兼容性。
著名使用
[编辑]参见
[编辑]外部链接
[编辑]- Official Tailwind Documentation (页面存档备份,存于互联网档案馆).
- Tailwind Play (页面存档备份,存于互联网档案馆), real-time testing environment.
参考文献
[编辑]- ^ Tailwind Labs. [2022-08-31]. (原始内容存档于2022-09-01).
- ^ Release 3.4.14. 2024年10月15日 [2024年10月27日].
- ^ 3.0 3.1 Installation - Tailwind CSS. tailwindcss.com. [2021-11-13]. (原始内容存档于2022-09-09) (英语).
- ^ Github: tailwindlabs/tailwindcss, LICENSE. [2022-08-31]. (原始内容存档于2021-10-20).
- ^ Gerchev, Ivaylo. Tailwind CSS. Sebastopol: O'Reilly Media. 2022. ISBN 1-0981-4099-0. OCLC 1314257318.
- ^ Rappin, Noel. Modern CSS with Tailwind flexible styling without the fuss. Raleigh. 2021. ISBN 978-1-68050-857-4. OCLC 1277046918.
- ^ Utility-First - Tailwind CSS. tailwindcss.com. [2021-11-13]. (原始内容存档于2022-09-09) (英语).
- ^ Responsive Design - Tailwind CSS. tailwindcss.com. [2021-11-13]. (原始内容存档于2022-09-09) (英语).
- ^ Hover, Focus, & Other States - Tailwind CSS. tailwindcss.com. [2021-11-13]. (原始内容存档于2022-09-09) (英语).
- ^ Dark Mode - Tailwind CSS. tailwindcss.com. [2021-11-13]. (原始内容存档于2022-09-03) (英语).
- ^ 11.0 11.1 Release v3.0.0-alpha.1 tailwindlabs/tailwindcss. GitHub. [2021-11-13]. (原始内容存档于2022-08-24) (英语).
- ^ GitHub Copilot · Your AI pair programmer. GitHub Copilot. [2021-10-18]. (原始内容存档于2022-04-23) (英语).
- ^ Firefox Accounts. accounts.firefox.com. [2021-10-18]. (原始内容存档于2022-09-08).
- ^ From semantic CSS to Tailwind - Refactoring the Netlify UI codebase. Netlify. [2021-10-28]. (原始内容存档于2022-03-01) (英语).
- ^ The official site of the NBA for the latest NBA Scores, Stats & News. | NBA.com. www.nba.com. [2021-10-18]. (原始内容存档于2020-12-08) (英语).
- ^ NASA Jet Propulsion Laboratory (JPL) - Robotic Space Exploration. NASA Jet Propulsion Laboratory (JPL). [2021-10-18]. (原始内容存档于2011-02-24) (英语).
- ^ Netflix Top 10 - Global. top10.netflix.com. [2021-11-21]. (原始内容存档于2021-11-16) (英语).