新闻中心
解决CSS Hover效果在Card组件中失效的问题

本文旨在解决在将SVG hover效果集成到HTML card组件中时,hover效果失效的问题。通过分析问题代码,明确了失效原因在于z-index属性的设置。文章提供了修改方案,移除了`.center__div--heartFilled`的`z-index: -1`属性,从而使hover效果能够正常工作。同时,文章也展示了相关的HTML和CSS代码,方便读者理解和实践。
在开发Web应用时,经常会遇到需要在Card组件中添加交互效果的需求,例如,当鼠标悬停在Card的某个元素上时,改变其样式。本文将针对一种常见的问题进行详细讲解:当尝试在Card组件中集成SVG的hover效果时,效果可能无法正常工作。
问题分析
问题的核心在于,当SVG元素被放置在Card组件中,并且使用了z-index属性来控制元素的层叠顺序时,hover效果可能会失效。这通常是因为z-index属性的设置,导致鼠标事件无法正确地被SVG元素捕获。
解决方案
解决这个问题的方法是移除导致hover效果失效的z-index属性。具体来说,我们需要检查CSS代码中,哪个元素设置了z-index: -1,并将其移除。
在提供的代码中,问题的根源在于.center__div--heartFilled元素上可能存在的z-index: -1属性(虽然在提供的CSS代码中没有明确出现,但根据问题描述推测可能存在)。
具体步骤
- 检查CSS代码: 仔细检查与SVG元素相关的CSS代码,特别是.center__div--heartFilled这个类。
- 移除z-index: -1: 如果找到了z-index: -1的设置,直接将其删除。
修改后的CSS代码示例
AI Surge Cloud
低代码数据分析平台,帮助企业快速交付深度数据
87
查看详情
.center__div--heartFilled {
/* z-index: -1; 移除此行 */
}完整代码示例
下面是完整的HTML和CSS代码,其中已经移除了可能导致问题的z-index属性:
HTML:
<div class="card restaurant__card">
<a href="#">
<div class="card__image">
@@##@@
</div>
<div class="card__body">
<div class="card__title">
<h3>À la française</h3>
<p>Cité Rouge</p>
</div>
<div class="card__heart">
<div class="center__div center__div--heartFilled">
<svg class="svg__heart--filled" width="29" height="29" viewBox="0 0 16 16">
<defs>
<linearGradient id="grad1" x1="0%" y1="100%" x2="50%" y2="0%">
<stop offset="0%" class="color-primary" />
<stop offset="100%" class="color-secondary" />
</linearGradient>
</defs>
<path d="M8 1.314C12.438-3.248 23.534 4.735 8 15-7.534 4.736 3.562-3.248 8 1.314z" fill="url(#grad1)"></path>
</svg>
</div>
<div class="center__div">
<svg class="svg__heart--outline" width="30" height="30" fill="currentColor" viewBox="0 0 16 16">
<path d="m8 2.748-.717-.737C5.6.281 2.514.878 1.4 3.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.838-3.362.314-4.385C13.486.878 10.4.28 8.717 2.01L8 2.748zM8 15C-7.333 4.868 3.279-3.04 7.824 1.143c.06.055.119.112.176.171a3.12 3.12 0 0 1 .176-.17C12.72-3.042 23.333 4.867 8 15z" />
</svg>
</div>
</div>
</div>
</a>
</div>CSS:
body {
background: black;
}
body a {
text-decoration: none;
color: black;
}
.card {
width: 90%;
height: 225px;
margin-bottom: 25px;
border-radius: 15px;
overflow: hidden;
}
.card__image {
height: 160px;
}
.card__image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.card__body {
height: 65px;
width: 100%;
display: flex;
align-items: center;
flex-flow: row wrap;
justify-content: space-between;
background: white;
}
.card__title {
padding-left: 15px;
display: flex;
flex-flow: column wrap;
gap: 3px;
}
.card__title h3 {
margin-top: 0px;
margin-bottom: 0px;
}
.card__title p {
margin-top: 0px;
margin-bottom: 0px;
}
.card__heart {
margin-right: 40px;
border: solid black 1px;
position: relative;
display: flex;
justify-content: center;
align-items: center;
width: 32px;
height: 32px;
}
/* styliser les svg heart */
.center__div {
width: 32px;
height: 32px;
position: absolute;
cursor: pointer;
}
.center__div--heartFilled {
/* z-index: -1; 移除此行 */
}
.svg__heart--filled {
opacity: 0;
transition: all 500ms ease-in-out;
}
.card__heart:hover .svg__heart--filled {
opacity: 1;
}
/*.
.svg__heart--filled {
opacity: 1;
}
*/
.svg__heart--outline {
background: rgba(0, 0, 0, 0);
}
.color-primary {
stop-color: yellow;
stop-opacity: 1;
}
.color-secondary {
stop-color: red;
stop-opacity: 1;
}注意事项
- 确保在移除z-index属性后,SVG元素的层叠顺序仍然符合预期。如果需要调整层叠顺序,可以尝试使用其他的CSS属性,例如position和transform。
- 在复杂的布局中,可能存在其他的CSS属性导致hover效果失效。需要仔细检查代码,并逐步排除问题。
总结
通过移除.center__div--heartFilled元素上的z-index: -1属性,可以解决SVG hover效果在Card组件中失效的问题。在实际开发中,需要仔细分析问题代码,并根据具体情况进行调整。理解CSS的层叠上下文和事件冒泡机制,有助于更好地解决类似的问题。

以上就是解决CSS Hover效果在Card组件中失效的问题的详细内容,更多请关注其它相关文章!
# 显示效果
# 株洲营销网络推广seo排名优化
# 宁波市外贸网站推广优化
# 天津靠谱营销推广
# 北京论坛发帖推广营销
# 云南seo推广哪里好
# 娱乐网站设计SEO
# 营销及其推广策略
# 经济学关键词排名软件
# 广告优化seo sem培训
# seo中图片文字
# 中文网
# 相关文章
# 将其
# 是因为
# css
# 其他的
# 单选框
# 鼠标
# 表单
# 移除
# red
# overflow
# .net
# css属性
# ai
# 事件冒泡
# svg
# html
相关栏目:
【
科技资讯46185 】
【
网络学院92790 】
相关推荐:
动漫岛观看全网网 动漫岛在线正版动漫入口
Win11网速慢怎么解决 Win11网络设置优化解除限速
理解Python模块与全局变量的作用域管理
蛙漫限时开放最深处链接_蛙漫全站漫画会员同款秒开地址
AO3镜像入口大全 AO3网页版内容访问全集
J*aScript中高效管理与清空动态列表:避免循环陷阱
魅族17怎样用浏览器译外语网页_iPhone魅族17浏览器译外语网页【即时翻译】
如何在网页中实现特定地点的随机图片展示
移动端XML文件怎么转换成Excel 手机和平板上的解决方案
如何设置Windows Defender的定时扫描_计划任务实现自动杀毒【安全】
高德地图公交到站提醒失败如何解决 高德提醒权限设置
AO3官方镜像站点汇总 AO3同人作品网页版直达链接
Bing引擎入口最新2025 Bing搜索免费官方登录
AO3网页版合集入口 Archive of Our Own同人作品浏览指南
怎样在Excel中做仪表盘_Excel仪表盘设计与关键指标展示方法
解决Tabulator日期时间排序问题的专业指南
R星幕后开发视频泄露 包含《GTA6》等多款大作
我的世界mc.js免费游戏直接能玩 我的世界mc.js小游戏免费秒玩入口
J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程
极兔快递快件信息查询系统 极兔快递官网运单号追踪
印象笔记如何设离线包出差查阅_印象笔记设离线包出差查阅【离线阅读】
单12V-2×6实现为RTX 5090供电750W!甚至都没敢跑分
顺丰快递查询系统 官方正版查询入口
极速漫画官方主页网址 极速漫画漫画在线浏览官网链接
谷歌推RCS信息存档功能:公司可监控员工私密信息!
抖音小游戏合成大西瓜免费秒玩入口链接 抖音小游戏热门合集秒玩网站
PHP表单数据传递:如何通过隐藏输入字段获取动态ID
C++如何实现一个智能指针_手动实现C++ shared_ptr的引用计数功能
没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享
mysql备份恢复性能优化_mysql备份恢复性能优化方法
汽水音乐在线版入口_汽水音乐网页播放手册
QQ邮箱登录平台入口 QQ邮箱网页版邮箱官方入口
《GTA6》开发画面疑似泄露!这次可不是AI了
Excel函数批量查找替换超快方法_Excel用REPLACE和FIND函数秒级替换
HTML5原生日期选择器与jQuery UI:实现日期选择器的联动与程序化控制
C#中解析不规范的HTML为XML 常见的坑与解决办法
解决移动端滚动问题的overflow属性应用指南
Centos/Linux 系统下安装 composer 的完整步骤
C++指针和引用有什么区别_C++内存管理核心概念深度解析
Word2013如何插入视频和音频媒体_Word2013媒体插入的多媒体支持
处理嵌套交互式控件:前端可访问性指南
漫蛙manwa官网登录界面_漫蛙漫画网页版主站入口
Yandex搜索引擎官方地址 俄罗斯网络世界的主要入口
漫蛙2漫画入口 漫蛙正版网页漫画直达网址
海棠账号登录入口_登录海棠账户同步阅读记录
2025AO3夸克浏览器通道_AO3手机HTTPS安全入口分享
Lar*el Form Request中唯一性验证在更新操作中的正确实现
css子元素高度不一致导致布局错位怎么办_使用align-items:stretch解决高度差异
如何在CSS中使用visited与link控制链接颜色_visited link伪类配合
Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法


2025-10-19
浏览次数:次
返回列表