图片与文本块hover联动:文本块box-shadow触发失效求助
解决hover图片时文本块box-shadow不生效的问题
嘿,我明白你遇到的问题了——你想让鼠标悬停在图片或者文本块上时,文本块都能显示阴影效果,但现在只有悬停时颜色能变,阴影却没反应。这背后其实是元素堆叠层级和hover事件触发对象的问题。
问题根源
你的文本块是叠加在图片上方的(应该是用了position: absolute这类定位),这意味着文本块的堆叠层级比图片高。当你以为鼠标悬停在图片上时,实际上鼠标是落在文本块上的,根本没有触发图片的hover事件!之前颜色能生效,大概率是你无意中写了针对父元素(比如<a>或者<li>)的hover规则,而阴影效果只绑定了图片的hover,所以才会出现“颜色有效、阴影无效”的奇怪现象。
解决方案
把hover事件绑定到包含图片和文本块的父容器上,比如<a>标签,这样不管鼠标悬停在图片区域还是文本块区域,都会触发样式变化:
#button-container li a:hover .htmltext { color: #ff4500; /* 替换成你想要的颜色 */ box-shadow: 0 0 15px rgba(255, 69, 0, 0.8); /* 替换成你想要的阴影效果 */ }
为什么这样有效?
<a>标签是图片和文本块的共同父元素,不管鼠标落在子元素的哪个区域,都会触发父元素的hover状态。这样就能同时实现“悬停图片或文本块时,文本块显示阴影+变色”的需求,完美解决你的问题。
内容的提问来源于stack exchange,提问作者EricTalv
相关产品推荐
相关产品推荐

