汉堡按钮点击后无法形成标准×形,求菜单上下条平移像素参数
首先你的实现存在2处核心错误,修正后即可实现标准×效果:
1. HTML类名书写错误
你当前汉堡按钮的三条横线类名加了多余空格:
<!-- 错误写法 --> <div class="line 1"></div> <div class="line 2"></div> <div class="line 3"></div>
空格会被识别为两个独立类名,导致CSS中.line1/.line2/.line3选择器无法匹配对应元素,需要修改为:
<!-- 正确写法 --> <div class="line1"></div> <div class="line2"></div> <div class="line3"></div>
2. 旋转动画缺少垂直偏移
你设置的每条横线高度为4px,横线之间的margin为5px,要让上下两条横线旋转后在中心交叉,需要分别向下/向上偏移9px(4px线高+5px间距的总和),修改CSS中.toggle相关样式:
.toggle .line1 { transform: rotate(45deg) translateY(9px); } .toggle .line2 { opacity: 0; } .toggle .line3 { transform: rotate(-45deg) translateY(-9px); }
额外优化建议
你定义的navLinkFade动画中opacity设置为1.5属于无效值,opacity取值范围为0-1,建议修改为1,避免样式异常:
@keyframes navLinkFade { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0px); } }
内容的提问来源于stack exchange,提问作者user10626935
相关产品推荐
相关产品推荐

