我想在我的元素中使用'&〉div'来设置每个div的样式,但它不起作用。有人能解释一下吗?
这是类中的样式对象
const styles = {
container: {
display: 'flex',
flexFlow: 'column',
},
informationPage: {
marginTop: '70px',
},
grid: {
'& > div': { backgroundColor: 'blue' },
textAlign: 'center',
display: 'grid',
gridGap: '10px',
gridTemplateColumns: 'repeat(3, 400px)',
gridTemplateRows: 'repeat(3, 400px)',
},
};
这是包含多个div的组件,我正尝试样式化
return (
<div className="HomePage">
<div style={styles.container}>
<span>
<ToolBar/>
</span>
<span style={styles.informationPage}>
<Title/>
</span>
<div style={styles.grid}>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
<div>1</div>
</div>
</div>
</div>
);
我怎么能在不给每个div一个style属性的情况下实现这一点呢?我已经在网上看过了,在其他解决方案上没有运气。
1条答案
按热度按时间92dk7w1h1#
CSS的通配符是星号,所以将
&
更改为*
,但我建议您使用类而不是元素。其他事项:
px
-所有现代浏览器默认为16px
字体大小,所以1rem = 16px
,所以在这里我强迫它;然后我们可以使用rem
和em
,这将在响应式布局上更好地流动。gridTemplateColumns: 'repeat(3, 400px)', gridTemplateRows: 'repeat(3, 400px)',
下面是一个例子: