CSS按钮hover仅文字背景变色,无法全按钮变色问题求助
问题分析与解决方案
嘿,这问题很典型,我一眼就发现症结所在啦!
你的CSS代码里,hover状态的选择器写错了——.popup1_btn :hover中间多了一个空格,这个空格在CSS里代表后代选择器,意思是“选中.popup1_btn元素下的所有子元素,当这些子元素被hover时应用样式”,所以才会出现只有文字背景变色的情况,而不是整个按钮本身。
修正步骤
- 去掉hover选择器里的空格,将
.popup1_btn :hover改为.popup1_btn:hover,这样才是选中按钮自身的hover状态。 - 你的按钮已经设置了固定宽高,无需额外调整display属性(如果后续遇到类似问题,可确保元素设置
display: block或inline-block,避免行内元素无法完全触发hover范围)。
修正后的完整CSS代码
.popup1_btn { width: 210px; height: 45px; font-size: 20px; text-transform: uppercase; background-color: #d3db2c; color: black; cursor: pointer; margin: 30px auto 0; line-height: 45px; font-family:"Avant Garde Demi BT"; } .popup1_btn:hover{ background-color: black; color: #d3db2c; }
这样修改后,当你hover整个按钮区域时,就会触发背景色和文字颜色的完整切换啦!
内容的提问来源于stack exchange,提问作者Xuezheng Low
相关产品推荐
相关产品推荐

