使用 Tailwind 时遇到的 10 个问题及解决方案 | Hi Jake

使用 Tailwind 时遇到的 10 个问题及解决方案

Tailwind是一种流行的CSS框架,它基于原子化设计和函数式CSS的理念,为前端工程师提供了管理CSS的强大工具,同时也加速了前端应用程序的开发。然而,尽管这个框架非常流行,但在使用过程中,前端工程师们可能会遇到一些挑战和问题。在这篇文章中,我们将介绍在使用Tailwind时遇到的10个常见问题,并为每个问题提供解决方案和示例代码。

  1. 怎么写自定义的样式?

尽管Tailwind的原子化设计是其成功的关键之一,但有些情况下,它并不能直接满足我们的需求。所以,如何在Tailwind中添加自定义样式是一个很重要的问题。解决方法如下所示

在tailwind.config.js 文件中添加需要的自定义样式

-------------- - -
  ------ -
    ------- -
      ------- -
        ------------- ----------
        ------------ ----------
      --
      ----------- -
        ------------- ------ ------ ------------ -------- --------------
      --
      --------- -
        ------- -------
        ------ ---------
      --
      -------- -
        ------ ------
        ------ ---------
      --
    --
  --
  --------- ---
  -------- ---
-
  1. 应该把Tailwind中的颜色值写成class还是使用原来的颜色值?

在使用Tailwind时,是否使用它提供的颜色类,还是更喜欢原来的颜色值?这是另一个常见的问题,我们需要根据开发需求来决定使用哪种方式。例如,如果要快速让页面中一些文本颜色变成蓝色,你可以用类 .text-blue,这样就不需要在代码中写出准确的蓝色值。

  1. 如何使用自己的字体文件?

在某些情况下,你需要使用自己的字体文件,而不是使用浏览器默认的字体。解决这个问题的方法也很简单。首先在 config 文件中创建 family 声明,然后在 CSS 样式中使用。

-------------- - -
  ------ -
    ----------- -
      -------------- ------ ------ --------------
    --
  --
  --------- ---
  -------- ---
--

在 CSS 样式中使用

--- ----------------------------- -- - ------ ---------
-- ----------------------------- -- ---- - ------ --------
  1. 如何使用灵活的空间间距 (Spacing)

Tailwind提供了很多间距 (Spacing) 类,但它们通常是预设的,而你需要更灵活的间距设置。幸运的是,Tailwind 允许你在配置文件中自定义间距间隙。

-------------- - -
  ------ -
    ------- -
      -------- -
        ------ -----------
        ---- ----------
      --
    --
  --
  --------- ---
  -------- ---
--

然后我们就可以在CSS中使用新定义的 mr-2.5mb-7 样式类了。

  1. 如何创建一个新的样式类?

有时,没有一个预设的样式类可以满足特定需求,这时我们需要创建一个新的样式类。运用@apply指令,这个过程很简单。

 ------------ -
  ------ ----------- ---------- ---- ---- --------- --------
  ------ -------------------- ------------ ----------- --------- ----------------
-

现在,我们可以在CSS中使用 .specialCard 样式类并将其应用于合适的 DOM 元素。

  1. 如何自定义间距间隔的viewport宽度?

Tailwind 中的距离 (Distance)类通常在任何屏幕大小下都需要一致,然而,在某些情况下,我们需要自定义距离以适应不同的屏幕大小。我们可以使用 responsiveness 的特性来实现。例如,我们可以依照屏幕大小自定义右边位置的菜单区域与 header 之间的距离。

  -------------- - -
    ------ -
      ------- -
        -------- -
          ----- -------
        -
      -
    --
    --------- ---
    -------- --
  -

对于 .right-menu 的样式定义,应使用 lg:ml-96 在大屏幕上使距离有效。

  1. 如何将Tailwind底部停靠的Footer置于页面底部?

在许多页面中,我们希望将 footer 次要信息部分停靠在页面底部。 Tailwind稍微有些复杂,但解决这个问题不需要太多的工作量。

--------- -----
------
  ------
    ----- ----------------
    --------------- --------------
    ----- ---------------------------------------------------------- -----------------
  -------
  ----- ----------- -------- --------------
    ------- ------------------ ---------- --------------------
    ----- ------------- ----------- ----------------
    ------- ------------------ ---------- --------------------
  -------
-------

在上文中,通过添加 flex-col 类将整个页面包装成一个仅有一个子元素的 Flex-box 容器,并设置此子元素在主轴上沿着面板垂直铺满整个视口。

  1. 如何定义尺寸中的平方和立方?

我们可以使用 2 次和 3 次的 rem 单位或 pow 函数向 CSS 中添加平方和立方的值。

-------------- - -
  ------ -
    --------- -
      ------ ---------- - ----------- ------ ---
      ----- ---------- - ----------- ------ ---
      ----- ----------- - ----------- --------- ---
      ------- -------- - ----------- -------- ---
      ----- ------------ - ----------- --------- ---
      ----- ----------- - ----------- --------- ---
      ------ ----------- - ----------- ------ ---
      ------ ----------- - ----------- -------- ---
      ------ -------- - ----------- --- ---
      ------ ----------- - ----------- --- ---
      ------ ---------- - ----------- --- ---
      ------ -------- - ----------- --- ---
    --
    ------- -
      ------ ------
      ----- ----------- - --------
      ------- ----------- - ----- - --------
    --
  --
  --------- ---
  -------- --
--

利用新定义的 sqcube 值,我们就可以在任何时候规划自己的平方和立方样式了。

  1. 如何使用 JavaScript 来与 Tailwind 集成?

Tailwind比较适合静态页面设计,同时它也可以使用 JavaScript 这种动态语言来获得额外的动态效果。可以使用命名空间、元素自定义属性、数据存储属性等方案来实现JavaScript与Tailwind的集成。

------- -------------- ------------------------------------------- ------------------------------ -------------------

通过自定义数据属性,即可作为同名 JavaScript 变量返回,并通过 classList.toggle() 方法,使用 onClick 将样式类添加到元素上。

----- -------- - -------------------------------------------------
----------------------- -- -
  ------------------------------ -- -- -
    ----- ------- - -------------------------------- ---
    ---------------------- -- -
      ----- ---------- ---------- - ---------------------
      ----- ---------- ------ - ---------------------
      ----- -- - ---------------------------------
      ------------------------------ -------
    ---
  ---
---

现在,一个可以切换按钮背景颜色的交互页面就出现了。

  1. 如何使用Tailwind调试工具?

调试工具可以帮助我们更轻松地确定 CSS 中的问题,同时也为我们提供了可用于校对代码的可视化显示。 Tailwind 自带了一些不错的调试工具,可以在浏览器查看器中找到,以便快速调试样式。

我们可以通过添加CSS调试工具指令来监测我们代码的问题

-- ---- --
--- ------- ---------------
-- - ------------------ --------- --
----- - ----- - - -------------------------------------
-------------- - -
  ------ -
    ------- -
      ------- -
        -------- -------------------
      -
    -
  --
  --------- ---
  -------- -
    ----------------------------
      ------- ----------
    --
  --
-

在浏览器调试器中,将出现一个新的调试工具栏,包括了代码诊断、间距间隙、字体、阴影等属性的可视化呈现。

结论

Tailwind 是一个非常流行的 CSS 框架,它能够帮助前端工程师们管理 CSS,并加速前端应用程序的开发。 本文详细讲解了在使用 Tailwind 时遇到的 10 个常见问题,也希望这些解决方案和示例代码能够指导各位使用了 Tailwind 后遇到的类似问题。最后,记住,在使用Tailwind的时候,我们的目标是将CSS编写工作简化,从而提高开发效率和应用程序的品质。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/67074bb0d91dce0dc8667b66