我有一个使用 Styled Components 创建的导航栏组件。我想创建一些改变背景颜色和/或文本颜色的props。
例如: <Navbar dark>
应该具有以下 CSS:
background: #454545;
color: #fafafa;
而<Navbar light>
应该相反:
background: #fafafa;
color: #454545;
但是,如果两个 prop 都没有使用,那么我想要一个默认的背景和文本颜色——比如说(为了演示目的),像这样:
background: #eee;
color: #333;
现在,我的问题是如何在 Styled Components 中进行设置。
我可以执行以下操作:
background: ${props => props.dark ? #454545 : '#eee'}
background: ${props => props.dark ? #fafafa : '#eee'}
background: #eee;
和类似的颜色。
但这是多余的,不是很优雅。我想要某种 if/else 语句:
background: ${ props => {
if (props.dark) { #454545 }
elseif (props.light) { #fafafa }
else { #eee }
}
但我不知道如何在 Styled Components 中设置类似的东西。
有什么建议?
提前致谢。