6分钟阅读时间 (1173个单词)

谈论 Tailwind CSS

JCM-Tailwind

在过去的一个月里,由于一系列天文事件,我在两个视频会议中谈论了 Tailwind,并在 YouTube 上进行现场编码。我意识到要做好这件事是困难的,Adam Wathan(原始 Tailwind 作者)推广 Tailwind CSS 的工作是出色的。查看Adam 的 Tailwind 视频频道

tailwindcss for joomla

在谈话中我们遇到的录制困难之外,我意识到在 Joomla 上关于 Tailwind CSS 有几个常见问题。在这篇文章中,我将回答它们。

什么是 Tailwind CSS?

它是一个 以实用程序为首要的 CSS 框架。当然,下一个问题是什么是“以实用程序为首要的”CSS 框架。"以实用程序为首要的"的想法是,该框架提供构建模板和设计的工具。

乍一看,Tailwind CSS 只是一个“语言”(例如 text-purple-500)和生成 CSS 样式表的“工具”。没有更多。语言的语义也很直接,可以直接转换为等效的 CSS 样式。 Tailwind 语言之美在于其一致性,它围绕着核心 CSS 概念进行组织。

实用程序类是在传统 CSS 之上的一个语法层。因此,任何时候,你都可以将它们与常规 CSS 样式结合使用。

与 Bootstrap 的主要区别是什么?

Bootstrap 包含了你可能需要的所有东西,“电池包含”。例如:警告、按钮、导航栏、加载指示器、模态框等。

除此之外,如果你选择由模板工厂创建的模板,该模板包含 Bootstrap,由工厂创建的主题以及他们可能添加的附加功能。

最后,Bootstrap 定义了添加资源的方式,但很少有人敢于移除某些内容;以防万一它被使用。所有这些做法都会产生大量的样式;在实践中,其中大部分都没有被使用。在当今移动优先的时代,Bootstrap 对带宽使用和响应时间的影响很大

另一方面,Tailwind 定义和处理的输出可以是“无”或仅仅是最基本的跨浏览器规范化。

您必须从头开始用 Tailwind CSS 设计一切吗?

是的,但...

  • Tailwind 的语言表达能力强,语义清晰。它消除了记住 CSS 样式带来的痛苦。
  • 样式定义的结果会被编译和优化。最终结果最小化。样式表加载量减少到几千字节。
  • 最终样式可以无特定性。这是您的设计。产生的样式表无法提供任何关于内部使用 Tailwind 生成的线索。此外,在迁移遗留系统时,您可以重新定义当前类以更新设计。例如,您可以取经典的 Bootstrap 2.3 的 rowspan 类,并在 grid 系统中重新定义它们。参考:网格模板列

tailwind grid

Tailwind CSS 是否比 Bootstrap 更好?

不,它们不能比较。Bootstrap 更像是一个快速构建原型的 CSS 框架,通过组合经典组件来生成蓝图。另一方面,Tailwind CSS 是一个创建设计的框架,写入您需要的,编译将要使用的。

使用 Tailwind CSS 开发耗时吗?

Tailwind CSS 有一个学习曲线。首先,您学习这门语言,并将其应用于简单的 HTML 文件中。官方文档完整;还有大量的社区网站、速查表、VSCode 扩展等。

其次,是“工具”。Tailwind CSS 框架建立在 JavaScript 生态系统最新工具之上。您不需要知道如何使用 JavaScript 进行开发,但建议您熟悉前端开发中的 JavaScript 术语。从技术上讲,Tailwind 由 PostCSS 提供支持,这是一个使用 JavaScript 转换 CSS 的工具。因此,这个世界的所有优点和复杂性也都存在于 Tailwind 中。

一旦您理解了开发设计的基本流程,并在多次迭代后,是时候概念化和构建您自己的“组件”或“模块”了。您可以创建您的视觉定义,您的图案库,以便在不同项目中重用。在这个阶段,最终产品可以非常快速地产生。Tailwind 框架非常年轻;然而,已经有提供高级组件的解决方案,有助于加快定义特定元素库的过程。

因此,关于耗时的最终答案取决于您在比较什么。有时候,定制 Bootstrap 花费很多时间,产生的结果是平均的(> 300Kb 的样式)。每个 Bootstrap 项目都必须从基本定义开始。然后,完成定制模板和主题的相同步骤。Bootstrap 的定制需要一定的时间,并且在下一次项目中不会更快。

如何将 Tailwind CSS 集成到项目中

这个程序不是一成不变的,它取决于您的实践。根据我的经验,这是对我更好的程序

  1. 用内联 Tailwind CSS 做设计原型,几个快速的 HTML 原型。从开始就测试在移动端。如果您打算重用 Joomla 生成的 HTML,您可以复制粘贴当前的 HTML 输出以匹配 Tailwind 输出的结构和类。
  2. 优化样式,从原始的内联 HTML 移动到合适的样式表。避免类定义的重复。
  3. 定义组件,如果有已知的 UI 组件(按钮、导航栏等),重新组织它们为组件(嵌套 CSS)。审查可用的类似 Tailwind 组件,或使用 Tailwind 类表达组件。
  4. 将生成的样式表集成到网站上。

结论

请注意,Tailwind是一个全新的技术(于2019年5月13日发布的v1版本)。它是一种必须在Joomla的背景下进行解释的技术。

在我的实践中,如果可能的话,我现在正在无妥协地实施Tailwind:使用Tailwind意味着完全移除Bootstrap的遗留问题。在这个前提下,所有扩展的样式必须迁移以支持新的框架。如果这种方法不可行,最好是坚持使用Bootstrap并为独立的组件构建Tailwind样式的片段。

如果您决定学习或测试Tailwind以了解兔子洞有多深,以下是一些有用的链接

而且,这些是我个人的工具

总的来说,一整套现代工具正在涌现,受最新发展启发,准备好产生惊人的结果。它们远非完美,挑战在于学习如何超越原始的游乐场,并在真实复杂的网站上实施它们。Tailwind CSS只是即将到来的新到产品之一。欢迎欢迎。

发表在Joomla社区杂志上的一些文章代表了作者在特定主题上的个人观点或经验,可能不符合Joomla项目的官方立场

0
2020年Pizza、虫子与乐趣的准备
COVID-19如何为网站创造积极的结果...
 

评论

已注册? 登录这里
尚未发表评论。成为第一个发表评论的人

通过接受,您将访问https://magazine.joomla.net.cn/外部第三方提供的服务