You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使文本hover下划线动画仅覆盖文本区域而非容器padding?

解决文本下划线动画仅覆盖实际文本区域的问题

我把原本为按钮设计的下划线动画调整为普通文本动画,但遇到问题——文本所在容器带有左padding,hover时下划线动画会覆盖整个容器宽度(包含padding区域),希望动画仅覆盖实际文本所在区域。

我的代码:

HTML:

<div class="sidebar-content">
    <ul>
        <li><a href="#" class="support-sidebar-area">Suporte <span class="material-symbols-outlined arrow4">chevron_right</span></a>
            <ul class="itens-support-hub">
                <li><a href="#" class="content-sidebar-area">Teste</a></li>
                <li><a href="#" class="content-sidebar-area">Teste</a></li>
                <li><a href="#" class="content-sidebar-area">Teste</a></li>
                <li><a href="#" class="content-sidebar-area">Teste</a></li>
                <li><a href="#" class="content-sidebar-area">Teste</a></li>
            </ul>
        </li>
    </ul>
</div>

CSS:

.content-sidebar-area{
    font-size: 18px;
    font-family: Confortaa;
    line-height: 25px;
    background:
            linear-gradient(#151400 0 0) bottom / 0% 2px no-repeat
            #71c1ec;
    transition: 0.5s;
}
.content-sidebar-area:hover {
    background-size: 100% 2px;
}

解决方案:

方案1:将元素设置为inline-block

给.content-sidebar-area添加display: inline-block,让元素宽度收缩到文本本身的宽度,这样background的100%就对应文本宽度,不会包含容器的padding:

.content-sidebar-area{
    font-size: 18px;
    font-family: Confortaa;
    line-height: 25px;
    background:
            linear-gradient(#151400 0 0) bottom / 0% 2px no-repeat
            #71c1ec;
    transition: 0.5s;
    display: inline-block; /* 新增这行 */
}
.content-sidebar-area:hover {
    background-size: 100% 2px;
}

方案2:给文本包裹内联元素

如果需要保持原元素的块级布局,可以给文本单独套一个<span>标签,把动画效果绑定到这个span上,完全不受容器padding影响:

修改后的HTML:

<li><a href="#" class="content-sidebar-area"><span>Teste</span></a></li>
<!-- 其他li标签同理修改 -->

对应的CSS:

.content-sidebar-area span{
    font-size: 18px;
    font-family: Confortaa;
    line-height: 25px;
    background:
            linear-gradient(#151400 0 0) bottom / 0% 2px no-repeat
            #71c1ec;
    transition: 0.5s;
}
.content-sidebar-area:hover span {
    background-size: 100% 2px;
}

内容的提问来源于stack exchange,提问作者Bazante

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 00:50:29