【发布时间】:2018-05-29 14:26:47
【问题描述】:
我正在构建一个 ReactJS 网站并使用 styled-components 和 ThemeProvider。所以我的背景颜色或颜色 css 代码是这样的background-color: ${props => (props.theme.background)}。
现在我想用 box-shadow 创建一个 CSS 脉冲动画。
const pulse = keyframes
to {
box-shadow: 0 0 0 45px rgba(0,0,0,0);
}
// My component
box-shadow: 0 0 0 0 rgba(0,0,0,0.7);
animation: ${pulse} 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
这行得通!但我想使用 ThemeProvider 中的颜色,所以我尝试了这个:
// shadow from ThemeProvider = "rgba(0,0,0,0.7)";
box-shadow: 0 0 0 0 ${props => (props.theme.shadow)};
而且它不是这样工作的。我用谷歌搜索了它,但没有找到任何解决我的问题的方法。你能帮我吗?如何在 box-shadow 中使用带有 rgba 的道具?
编辑:当我使用 HEX 代码时它可以工作!!!但不是 rgba,我需要 rgba!
【问题讨论】:
-
为什么需要 rgba?如果它是一个不会改变的颜色(假设你的主题有一组固定的颜色)为什么不只使用十六进制等效?