【发布时间】:2022-07-07 12:10:09
【问题描述】:
我面临着一个在 CSS 世界中令人麻木的问题。 TailwindCSS 3 类不会覆盖以前的类。
比如有这个组件,我自己创建的:
import * as React from "react";
const TextBox = ({ addClassName, children }) => {
const className = `text-xl leading-7.5 font-lato font-normal ${addClassName}`;
return <div className={className}>{children}</div>;
};
export default TextBox;
然后我继续在另一个地方使用上面的这个组件,像这样:
<TextBox addClassName="text-4xl">My New Text</TextBox>
现在,当我在浏览器中检查它时,它显示了两种字体大小: Screenshot from the browser inspect
class="text-xl leading-7.5 font-lato font-normal text-4xl"
如您所见,这两个类都存在,都指的是字体大小,并且较大的类在较小的类之后。
并且仍然仅小(原始)字体大小将占主导地位。
(作为旁注,我确实尝试将 addClassName 变量也放在前面,没有帮助)
这是为什么?
感谢您对此提供的任何帮助。 谢谢
【问题讨论】:
-
我找不到在 tailwind 3 中支持此功能的公告。链接到文档?
-
不确定我是否理解菲利克斯的意思
-
我的意思是,我认为顺风 V3 不支持有意义的类顺序。因此,我想知道您为什么认为它受支持,以及您是否有指向有关该功能的文档的链接。
-
根据基本的CSS,一个接一个的样式会覆盖前面的样式。我测试了几次,Tailwind 3 生成类的新方式是,一旦你使用了某个类,它就会被添加到 commons.css 文件中,如果你使用另一个,它会在之后添加( !),并且由于这个顺序,后一个 never(!) 可以覆盖前一个。示例:“.text-4xl { font-size: 2.25rem; line-height: 2.5rem; } .text-sm { font-size: 0.875rem; line-height: 1.25rem; }”
-
所以在上面的例子中,仅仅因为我先用了.text-4xl,然后用了.text-sm,所以.text-4xl永远不会覆盖.text-sm。
标签: css reactjs tailwind-css