我本来这看起来如下样式表:应用透明度内嵌背景色上悬停
.button {
border-radius: 3px;
display: inline-block;
padding: 14px 20px;
transition: background-color cubic-bezier(0.4, 0.0, 0.2, 1.0) 300ms;
&:hover {
background-color: transparentize($green, 0.2);
}
}
这工作得很好。然而,我不得不内联我的backgroundColor,使其与主题组件一起工作。
import { accent1 } from 'themes/default';
export default function Button({ ...props }, {
theme: { accent1 } = { accent1 }
}) {
return (
<button
className={styles.button}
style={{ backgroundColor: accent1 }}
{...props}
/>
);
}
然而,这种硬编码的背景颜色,我找不到任何方式给它转变同样的效果而不适用的rgba
一个onMouseEnter
和onMouseLeave
处理程序把它变成一个完全成熟的组件颜色。
有没有更好的方法来做到这一点与CSS?
您可以不使用硬编码的样式,而是在HTML页面上写出一段CSS来模仿您最初使用自定义类所使用的内容吗? – TerraElise