【发布时间】:2017-02-28 21:10:41
【问题描述】:
最初,我有一个样式表,如下所示:
.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}
/>
);
}
但是,使用这种硬编码的背景颜色,我找不到任何方法来赋予它与过渡相同的效果,而无需将其变成具有onMouseEnter 和onMouseLeave 处理程序的完整组件,该处理程序应用@ 987654325@颜色。
有没有更好的方法用 CSS 做到这一点?
【问题讨论】:
-
你能不使用硬编码的样式,而是在 HTML 页面上写出一段 CSS 来模仿你最初使用自定义类所使用的样式吗?
标签: javascript css reactjs