样式道具中 CSS 变量的 Reactjs 问题
Reactjs problem with CSS variable in style prop
首先,这是我的代码:
<div className="phone" style="--bg: var(--green)">
但错误如下:
错误:style
道具需要从样式属性到值的映射,而不是字符串。比如使用JSX时style={{marginRight: spacing + 'em'}}.
所以我把代码改成了
<div className="phone" style={{--bg: var(--green)}}>
<div className="name">So dien thoai</div>
</div>
<div className="fb" style={{--bg: var(--blue)}}>
<div className="name">Facebook</div>
</div>
<div className="gg" style={{--bg: var(--red)}}>
<div className="name">Google</div>
</div>
:root{
--red: #ee4d2d;
--blue: #0288d1;
--green: #6cc942;
}
.phone, .fb, .gg{
display: flex;
padding: 4px 0;
border: 1px solid black;
background: var(--bg);
.name{
padding-left: 20px;
}
}
他们告诉我不能在 style={{ }}
中使用 --bg
style={{'--bg': 'var(--green)'}}
在 JSX 中你必须像上面那样使用 style
属性。
第一个(外部){}
是 JSX 语法,内部 {}
是表示样式 properties/values.
的实际 javascript 对象
ReactDOM.render(<div style={{'--bg': 'var(--green)'}}/>, document.body)
body{ --green: green }
div{
width: 200px;
height: 100px;
background: var(--bg); /* using the variable defined from JSX */
}
<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
建议你下次去Google the error instead of rushing to open a new question here, as there is a ton of information on Google
example: style={{color: "var(--red)"}} not ";"
style={{ "--bg": "var(--red)", background: "var(--bg)" }}
demo: https://codesandbox.io/s/ecstatic-keldysh-4dspr?file=/src/App.js
首先,这是我的代码:
<div className="phone" style="--bg: var(--green)">
但错误如下:
错误:style
道具需要从样式属性到值的映射,而不是字符串。比如使用JSX时style={{marginRight: spacing + 'em'}}.
所以我把代码改成了
<div className="phone" style={{--bg: var(--green)}}>
<div className="name">So dien thoai</div>
</div>
<div className="fb" style={{--bg: var(--blue)}}>
<div className="name">Facebook</div>
</div>
<div className="gg" style={{--bg: var(--red)}}>
<div className="name">Google</div>
</div>
:root{
--red: #ee4d2d;
--blue: #0288d1;
--green: #6cc942;
}
.phone, .fb, .gg{
display: flex;
padding: 4px 0;
border: 1px solid black;
background: var(--bg);
.name{
padding-left: 20px;
}
}
他们告诉我不能在 style={{ }}
--bg
style={{'--bg': 'var(--green)'}}
在 JSX 中你必须像上面那样使用 style
属性。
第一个(外部){}
是 JSX 语法,内部 {}
是表示样式 properties/values.
ReactDOM.render(<div style={{'--bg': 'var(--green)'}}/>, document.body)
body{ --green: green }
div{
width: 200px;
height: 100px;
background: var(--bg); /* using the variable defined from JSX */
}
<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
建议你下次去Google the error instead of rushing to open a new question here, as there is a ton of information on Google
example: style={{color: "var(--red)"}} not ";"
style={{ "--bg": "var(--red)", background: "var(--bg)" }}
demo: https://codesandbox.io/s/ecstatic-keldysh-4dspr?file=/src/App.js