作品集网站导航栏hover下划线效果失效问题求助
导航栏Hover下划线效果不生效的解决方案
你的问题出在CSS伪元素的初始状态设置上:当前nav ul li a::after默认宽度就是100%,hover状态下依然设置为100%,没有数值变化,过渡动画自然不会触发,所以看不到hover效果。
只需要调整CSS中伪元素的初始宽度为0,hover时再改为100%,就能实现下划线从左到右展开的动画效果:
.container { padding: 10px 10%; } nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; } nav ul li { display: inline-block; list-style: none; margin: 10px 20px; } nav ul li a { color: #fff; text-decoration: none; font-size: 18px; position: relative; } /* 修改初始宽度为0,让下划线默认隐藏 */ nav ul li a::after { content: ''; width: 0; height: 3px; background: #ff004f; position: absolute; left: 0; bottom: -6px; transition: 0.5s; } /* hover时宽度变为100%,触发过渡动画 */ nav ul li a:hover::after { width: 100%; }
你的HTML结构没有问题,无需修改。调整后鼠标悬停在导航链接上时,下划线就会平滑展开了。
内容的提问来源于stack exchange,提问作者orgin oftheearthmembercare
相关产品推荐
相关产品推荐

