【发布时间】:2019-08-26 04:37:13
【问题描述】:
我目前在我的一个组件中importing CSS 文件。这些样式表在<head> 中添加为link 标签,并将在全球范围内可用:
import './src/styles/normalize.module.css';
我也在使用 styled-components。
目前,由全局 CSS imports 生成的 link 标签位于 styled-component style 标签下方,位于 <head>:
我希望 styled-components 更具体地,即出现高于来自 CSS import 的 link 标签秒。
有没有办法做到这一点?
PS:我正在使用 GatsbyJS,但这可能与问题无关。
【问题讨论】:
-
"styled-components to be more specific" — 特定性由规则集上的选择器决定,而不是样式表在 DOM 中的位置。更具体的规则稍后出现在级联中。如果您希望样式化组件 CSS 稍后出现在级联中,那么您需要生成的样式元素出现在链接元素之后,而不是在它们之前。
-
@Quentin 是的。我希望将样式表 注入/移动到由
添加的 -
明确地说,Gatsby 的构建过程会自动按该顺序添加它。据我所知,我无法控制订单。所以我想知道是否有人知道如何改变它,例如通过一些样式化组件 API 或 gatsby-browser.js / gatsby-ssr.js API。可以手动将其添加到 html.js,但样式表必须是静态的,而不是带有散列文件名的动态。
-
我了解您在
<head>中的样式顺序存在问题。但如果只有normalize.css有问题,你可以使用github.com/sergeysova/styled-normalize
标签: javascript css reactjs gatsby styled-components