【发布时间】:2020-08-27 15:39:03
【问题描述】:
我开始使用样式化组件,并且对范围界定有疑问。 这只是一个虚拟示例,但说明了这一点。
所以我有一个组件。我设置了一个名为 Wrapper 的样式化 div,而不是创建另一个样式化组件来处理组,我认为只需向内部 div 添加一个名为 .group 的类并使用像 scss 中的嵌套来设置样式会更容易内部分区。这可行,但使用 className 作为内部 div 的问题是可能与名为 .group
的全局样式发生冲突那么有没有办法以某种方式避免这种情况,或者我是否必须创建另一个名为 Group 的样式组件来处理该内部 css ?似乎有很多样板文件必须添加另一个样式化组件才能设置内部组件的样式。
const Wrapper = styled.div`
color: blue;
.group {
padding: 10px;
color: green;
}
`
const MyComponent = () => {
return (
<Wrapper>
<div className='group>
<h1>heading text</h1>
<h2>subheading text</h2>
</div>
<div>This is my blue text</div>
</Wrapper>
);
}
这是我的 globalStylesheet 和组。显然这只有一种风格,但它可以有更多的方式来处理全局分组的元素。
export default createGlobalStyle`
h1, h2, h3, h4, h5, h6 {
font-family: '.....';
}
.group {
background-color: red;
}
`;
我知道我也可以这样做
> div {
border: 1px solid red;
}
但我希望能够更明确地使用类名
【问题讨论】: