gpt4 book ai didi

css - 从 css 模块中引用全局类名

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:27 25 4
gpt4 key购买 nike

想象一个更传统的 Web 应用程序,该应用程序正在一个页面中慢慢引入 React 组件,该页面复杂到需要它。

我们正在使用 Webpack 开发这个新的 UI,我们正在为新 UI 需要的所有新 css 使用 css 模块。但是我们仍然需要重用一些全局的 css,并通过 html 中链接的传统 css 样式表在应用程序中提供。

因此我们需要在我们的 css 模块中偶尔编写引用全局命名空间中的 css 类的规则,而不是在本地范围内的类,因此在应用程序运行时转换为更像 gem 的长 css 类名运行:

.container {
// rules for container
}
.container.pull-right {
// rules for when the container element also has the pull-right class
}

在上面的示例中,container 是一个 css 类,css 模块将上下文化到使用此模块的特定组件。

但是 pull-right 是一个存在于页面可用的 css 文件中的类,但不被 css 模块或 Webpack 处理。因此,我们需要一种方法(可能是一种语法)来告诉 css 模块“嘿,保留输出中的 pull-right。不要弄乱它或尝试 BEM s**t它”。

我想像这样的东西应该存在,但到目前为止我还没有通过谷歌搜索找到它。

最佳答案

要在 :local 范围的 css 模块中引用全局声明的类名,您应该使用 :global 开关:

  .container {
// rules for container
}

.container:global(.pull-right) {
// rules for when the container element also has the pull-right class
}

更详细explanation在 css-modules 文档中。

关于css - 从 css 模块中引用全局类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52324227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com