CSS :hover不起作用(高级篇)

在前端开发中,遇到一个CSS hover使用问题,原本用于隐藏和显示内容的技巧失效。问题源于将`:hover`应用于子元素,而非父元素。通过调整CSS选择器,将`:hover`应用到父级,成功解决了显示问题。此案例提醒开发者注意元素的定位和交互逻辑,避免结构疏忽导致的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我对hover最常使用的时候就是跟display或者overflow打配合,做到隐藏二维码,购物车内容之类的东西,但有一次仿写小米官网的时候出现了问题,我使用display对二维码进行隐藏,但在hover内设置显示的时候却没有显示出来,反反复复考虑了几天,我一直在检查是否是权重值的问题,或者hover本身具有某种限制,最后碰巧发现原来是惯性思维导致的问题。
1.基本样式

html部分:在这里插入图片描述
页面部分:
在这里插入图片描述
css部分:
在这里插入图片描述
在这里插入图片描述

但是效果与我的预期不一样,它只显示了三角,并没有二维码
在这里插入图片描述
2.解决方法
我把:hover移到了.download的父级元素,成功地达到了预期要求

css部分:
在这里插入图片描述
效果:
在这里插入图片描述
3.总结
解决后我还没反应过来,为什么hover放到父元素后面就可以了,文档里也没写hover对跟谁还有要求,我一直很多都是放在div后面的,也没出问题。再看了下结构才发现,原来这个.download在body中没有可定位的范围,也就是说我没办法把鼠标放在它上面,所以也就无法显示。
我写完一个模块通常都会忘了它,从新开始下一个模块,也就导致我忽视了结构这个问题,以至于出现这种错误,希望能给大家带来帮助,也给自己提个醒。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值