gpt4 book ai didi

javascript - 使用 Glamorous css-in-js 的子选择器

转载 作者:行者123 更新时间:2023-12-03 13:58:12 24 4
gpt4 key购买 nike

我已经尝试了 css-in-js 的 Glamorous 库,但无法理解一件事。

使用 vanilla css,您可以轻松地向类中的所有选择器添加样式,例如:

.my-awesome-class div {
margin-right: 10px;
}

有什么办法可以做到魅力四射吗?例如,在这段代码中,我正在寻找一种方法来声明容器内的所有 div 的 margin-right 为 20px,而不需要将其传递给每个组件:

import React from 'react';
import { render } from 'react-dom';
import glamorous, {Div} from 'glamorous';

const Container = glamorous.div({
display: 'flex'
});

class App extends React.Component {
render() {
return (
<Container>
<Div backgroundColor="tomato" padding="10px">One</Div>
<Div backgroundColor="wheat" padding="10px">Two</Div>
<Div backgroundColor="salmon" padding="10px">Three</Div>
</Container>
);
}
}

render(<App />, document.getElementById('root'));

这是工作片段的链接: https://stackblitz.com/edit/glemorouschildselector

最佳答案

glamorous 组件工厂样式参数由 glamor 提供支持,它支持上下文选择器。

contextual selectors: & will be replaced by the 'pointer' to the target rule

const Container = glamorous.div(
{
display: 'flex',
'& div': {
marginRight: '20px',
},
},
)

魅力选择器文档:https://github.com/threepointone/glamor/blob/master/docs/selectors.md

工作演示:https://stackblitz.com/edit/glemorouschildselector-fzj77j

关于javascript - 使用 Glamorous css-in-js 的子选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45649078/

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