在Gatsby.js中,一个组件的特定样式只在特定页面上使用。

问题描述 投票:0回答:1

我有一个Header组件,它被用于布局组件上,而布局组件是用来构造Gatsby网站上的页面的。有一个特定的页面,我需要给我的页眉一个不同的背景颜色。问题是该页面上没有页眉组件,只有布局组件。我最终通过给页眉和布局添加一个背景色道具来解决这个问题。而且我是先把颜色传下来给布局,布局再把颜色传给header......这是最好的方法吗?感觉不是很好。

components gatsby
1个回答
1
投票

你可以简单地使用 react-helmet 来为你的正文添加一个类,只在那个特定的页面上。比方说 "dark-header",类似于。

<Helmet>
    <body class='dark-header' />
</Helmet>

然后,在你的css代码中,你可以做这样的事情:

.header { background-color: #FFFFFF; }

body.dark-header {
    .header { background-color: #000000; }
}
© www.soinside.com 2019 - 2024. All rights reserved.