【发布时间】:2020-07-08 00:44:03
【问题描述】:
我创建了一个汉堡菜单切换,我试图让它在“黑暗模式”处于活动状态时改变它的颜色。 不幸的是,它不是很有效。
伪元素一旦改变就不会切换回来。 '.hamburger' 可以。
.hamburger,
.hamburger::before,
.hamburger::after {
//background: var(--clr-accent); <--- original
background-color: var(--clr-ham-toggl);
width: 2em;
height: 3px;
border-radius: 1em;
transition: transform 250ms ease-in-out;
}
.to('.hamburger', {backgroundColor: '#f6f6f6', duration: duration * 2}, 0)
.to(CSSRulePlugin.getRule('.hamburger::before'), {backgroundColor: '#f6f6f6', duration: duration * 2}, 0)
.to(CSSRulePlugin.getRule('.hamburger::after'), {backgroundColor: '#f6f6f6', duration: duration * 2}, 0)
真的很感激,如果有人能指出我正确的方向。
编辑:所以,它现在通过自己的变量工作。像这样:
<button class="nav-toggle" aria-label="toggle navigation">
<span class="hamburger"></span>
</button>
.to('.nav-toggle', {"--clr-ham-toggl": "#f6f6f6"}, duration * 0.5)
【问题讨论】:
-
嘿托拜厄斯。如果还没有看到您的样式表,我们就不可能知道出了什么问题。如果您需要帮助调试您的项目,请创建一个最小、完整且可验证的演示。顺便说一下,我们 GreenSock 建议使用 CSS 变量而不是 CSSRulePlugin,如果它们有足够好的浏览器支持来满足您的需求。
-
谢谢。添加了特定的css。好吧,我读到伪元素需要这个插件。我没有先尝试,没有成功。所以,我可以简单地为 .hamburger 背景分配一个变量 soley 并引用它而不是“.hamburger, .hamburger::before, .hamburger::after”?因为,我想我也试过了。谢谢你的提示。会再调查一次????
标签: gsap