@astrojs/tailwind
Astro 集成 为你项目中的每一个 .astro
文件和 框架组件 带来 Tailwind 的实用 CSS 类,同时支持 Tailwind 配置文件。
为什么是 Tailwind?
标题部分 为什么是 Tailwind?Tailwind 让你直接使用实用类而不是编写 CSS。这些实用类大多与某个 CSS 属性设置一一对应:例如,在一个元素上添加text-lg
,相当于在CSS中设置font-size: 1.125rem
。你也许会发现使用这些预定义的实用类更容易编写和维护你的样式!
如果你不喜欢这些预定义的设置,你可以根据你项目的设计要求定制 Tailwind 配置文件。例如,如果你设计中的“大文本”实际上是2rem
,你可以将lg
字体大小设置改为2rem
。
Tailwind也是为 React、Preact 或 Solid 组件添加样式的不错选择,这些组件不支持组件文件中的 <style>
标签。
注意:一般来说,我们不鼓励在同一个文件中同时使用 Tailwind 和另一种样式方法(例如,样式组件)。
安装
标题部分 安装快速安装
标题部分 快速安装astro add
命令行工具为你自动进行安装。在一个新的终端窗口中运行下列其中一条命令(如果你不确定你使用的是哪个包管理器,请运行第一个命令)。然后按照提示,在终端中输入“y”(意思是“是”),每一条都是如此。
如果你遇到任何问题,请随时在GitHub上向我们报告并尝试下面的手动安装步骤。
手动安装
标题部分 手动安装首先,使用你的包管理器安装 @astrojs/tailwind
和 tailwindcss
包。如果你使用的是npm或者不确定哪个包管理器,在终端运行这个:
然后,使用 integrations
属性将这个集成应用到你的 astro.config.*
文件:
使用
标题部分 使用当你安装集成后,Tailwind 的实用类应该马上就可以使用了。前往 Tailwind 文档学习如何使用 Tailwind,如果你看到一个你想尝试的实用类,就把它添加到你项目的任何HTML元素中去吧!
Autoprefixer 也是在开发模式和生产模式下工作时自动设置的,所以 Tailwind 类将在旧的浏览器中工作。
配置
标题部分 配置配置 Tailwind
标题部分 配置 Tailwind如果你使用了快速安装,并且每个选项都选是,你会在你项目的根目录下看到一个 tailwind.config.cjs
文件。使用这个文件来修改你的 Tailwind 配置。你可以在 Tailwind 文档中学习如何使用这个文件来定制 Tailwind。
如果没有该文件,你可以在根目录下添加你自己的 tailwind.config.(js|cjs|mjs)
文件,集成将使用其配置。如果你已经在另一个项目中配置了 Tailwind,并想把这些设置带到这个项目中来,这也不错。
配置集成
标题部分 配置集成Astro Tailwind 集成处理 Astro 和 Tailwind 之间的通信,它有自己的设置。在 astro.config.mjs
文件(不是 Tailwind 配置文件)中改变这些,这里是你项目的集成设置所在。
configFile
标题部分 configFile以前在 @astrojs/tailwind
v3 中被称为 config.path
。请参阅 v4 更改日志 以更新你的配置。
如果你想使用不同的 Tailwind 配置文件,而不是默认的 tailwind.config.(js|cjs|mjs)
,请使用本集成的 configFile
选项指定该文件的位置。如果 configFile
是相对路径,则会相对于当前工作目录解析。
applyBaseStyles
标题部分 applyBaseStyles以前在 @astrojs/tailwind
v3中被称为 config.applyBaseStyles
。请参阅v4更改日志以更新你的配置。
默认情况下,该集成在你项目的每个页面上都导入一个基本的 base.css
文件。这个基本的 CSS 文件包括三个主要的 @tailwind
指令:
要禁用这个默认行为,请将 applyBaseStyles
设置为 false
。如果你需要定义你自己的 base.css
文件(例如包括一个@layer
指令),这可能很有用。如果你不希望 base.css
被导入你的项目的每一个页面,这也很有用。
你现在可以导入你自己的 base.css
作为本地样式表 。
例子
标题部分 例子- Astro Tailwind Starter 为你提供一个基础的、使用 Tailwind 进行样式设计的可运行项目
- Astro 的主页使用 Tailwind。查看其 Tailwind 配置文件或示例组件
- Astro Ink、Sarissa Blog 和 Creek 主题使用 Tailwind 进行样式设计
- 浏览 GitHub 上的 Astro Tailwind 项目以获得更多的例子!
故障排除
标题部分 故障排除使用 @apply
指令时提示类不存在
标题部分 使用 @apply 指令时提示类不存在当在 Astro、Vue、Svelte 或其他组件集成的 <style>
标签中使用 @apply
指令时,它可能会产生关于你的自定义 Tailwind 类不存在的错误,并导致你的构建失败。
通过在你的Tailwind配置中添加一个插件来定义你的自定义样式来修复它,而不是在全局样式表中使用@layer
指令,添加如下内容:
基于类的修改器不能与 @apply
指令一起工作
标题部分 基于类的修改器不能与 @apply 指令一起工作某些带有修饰符的 Tailwind 类依赖于跨多个元素的组合类。例如,group-hover:text-gray
编译为 .group:hover .text-gray
。当这与Astro <style>
标签中的 @apply
指令一起使用时,编译后的样式会从构建输出中删除,因为它们与 .astro
文件中的任何标记不匹配。同样的问题也可能发生在支持范围样式的框架组件中,如 Vue 和 Svelte。
为了解决这个问题,你可以使用内联类来代替:
其他
标题部分 其他- 如果你的安装似乎不成功,尝试重新启动开发服务器。
- 如果你编辑并保存了一个文件,但没有看到你的网站有相应的更新,试着刷新页面。
- 如果刷新页面并没有更新你的预览,或者新的安装似乎没有效果,那么就重新启动开发服务器。
如需帮助,请查看 Discord 上的 #support
频道。我们友好的支持小组成员将在这里提供帮助!
你也可以查看我们的 Astro 集成文档,了解更多关于集成的信息。
贡献
标题部分 贡献这个项目由 Astro 的核心团队维护,欢迎你提交 issue 或 PR!
更改日志
标题部分 更改日志有关该集成的变化历史,请参阅 CHANGELOG.md。