You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅通过CSS实现checkbox选中时移除hover变换动画

解决方案

要实现当id为menu-check的复选框被选中时,移除.menu-btn hover状态下的那两段变换动画,只需要利用CSS选择器优先级,在复选框选中状态下重置对应元素的transform属性即可:

/* 保留你原有的hover样式 */
.menu-btn:hover > span:nth-of-type(2) {
    transform-origin: right;
    transform: scaleX(0.5);
}
.menu-btn:hover > span:nth-of-type(3) {
    transform-origin: left;
    transform: scaleX(0.5);
}

/* 新增选中状态下的重置样式 */
#menu-check:checked ~ .menu-btn:hover > span:nth-of-type(2),
#menu-check:checked ~ .menu-btn:hover > span:nth-of-type(3) {
    transform-origin: center; /* 重置为默认原点,可根据实际初始值调整 */
    transform: scaleX(1); /* 恢复原始缩放比例,取消hover时的缩放效果 */
}

简单说明

  • 利用复选框的:checked伪类结合兄弟选择器~,精准选中激活状态下的.menu-btn
  • 通过重置transform和transform-origin为初始值,直接覆盖原有hover样式的变换效果,避免干扰选中状态的动画
  • 确保这段新增CSS放在原有hover样式的后面,保证优先级足够覆盖旧样式

内容的提问来源于stack exchange,提问作者DEXOW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:06:29