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

如何仅修改.underline类实现单行/多行文本通用hover下划线效果?

解决方案

只需修改.underline类的CSS属性,就能让多行文本也正常显示hover下划线效果,具体代码调整如下:

.underline {
  cursor: pointer;
  position: relative;
  text-decoration: none;
  /* 添加这两行,让装饰效果在每行文本上独立渲染 */
  display: inline-block;
  box-decoration-break: clone;
  background: linear-gradient(
                  to right,
                  green 0%, /* Green */
                  green 75%, /* Green */
                  red 75%, /* Red */
                  red /* Red */
  ) no-repeat 0 100%;
  background-size: 0 2px;
  transition: background-size 400ms;
}

.underline:hover {
    background-size: 100% 2px;
}

关键修改说明:

  • display: inline-block:把原本块级的p元素转为行内块元素,既保留包裹文本的特性,又能让box-decoration-break属性生效。
  • box-decoration-break: clone:强制元素的背景、边框等装饰效果在每行文本上单独渲染,而非基于整个元素的容器盒子。这样多行文本的每一行底部都会生成对应下划线,hover时每行的下划线会同步展开。

该修改完全满足你的需求:无需调整HTML结构,.underline类仍可独立用于任意元素,且不管文本是单行还是随屏幕尺寸变化转为多行,下划线效果都能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 20:42:10