问题:TailwindCSS 为什么前者比后者重要?

<p class="mt-1 mt-2" ></p>

为什么上面显示margin 4px而不是margin 8px 因为最后一个类应该更重要。

在 vuejs 中编写“if”时我遇到了很多麻烦,因为如果正常编写新类总是附加到末尾。

  • NuxtJS 2.15.8

  • TailwindCSS 3.0.23

  • postcss 8.4.5

解答

这不是 CSS 方面的优先级问题(如特异性),但对于 Tailwind,您一次应该只使用一个类,因为它们是在单个文件中定义的。

所以应该使用一些条件来实现你正在寻找的最终结果。在此处查看我的答案的第二部分。它基于 Tailwind 维护者之一的回答(在 Github 讨论中)。

这是一般的想法

<button
  class="flex items-center w-auto p-4 text-center ..."
  :class="[
    callToAction.types[color][variant], // here is the important part
    { 'opacity-50 cursor-not-allowed shadow-none': disabled },
  ]"
>
  Nice flexible button
</button>

否则,也存在像tailwind-merge这样的包来解决这种行为。

Logo

Vue社区为您提供最前沿的新闻资讯和知识内容

更多推荐