【发布时间】:2021-05-29 16:59:55
【问题描述】:
我正在尝试在 Emotion 中创建可重复使用的动画,但遇到了一些问题。我为 fadeUp 效果定义了一个动画,效果很好。
export const animatedFadeUp = css`
opacity: 1;
transform: translateY(0);
`;
export const fadeUp = css`
opacity: 0;
transform: translateY(var(--spacing-medium));
transition: opacity 0.5s ease-in-out,
transform 0.5s ease-in-out;
html.no-js & {
${animatedFadeUp}
}
`;
但是当我尝试将fadeUp 动画应用于已经定义了过渡的元素时,它会被否决。例如下面的按钮。 transition 将被 button 否决。
const Button = styled.button`
${fadeUp}
background: orange;
transition: background-color 0.5s ease-in-out;
&:hover,
&:focus {
background: gold;
}
`;
有没有只组合一个属性的解决方案?比如:
const Button = styled.button`
${fadeUp}
background: orange;
transition: ${fadeUp.transition},
background-color 0.5s ease-in-out;
&:hover,
&:focus {
background: gold;
}
`;
【问题讨论】:
标签: javascript css reactjs emotion