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

如何用CSS实现悬停任意文本时为第一个文本添加下划线?

实现悬停链接内任意文本时标题显示下划线

我有一个包含两段文本的链接,点击任意一段文本都能触发跳转。现在需要实现悬停任意一段文本时,class为title的第一段文本显示下划线,但目前只有悬停第一段文本时该效果才生效。现有代码如下:

现有CSS代码

.title:hover{
    text-decoration: underline
}

现有HTML代码

<p:link href:...>
   <h:outputText styleClass="title" value="Title"/>
   <h:outputText styleClass="subtitle" value="Subtitle"/>
</p:link>

解决方案

不需要单独为.subtitle编写CSS,而是通过父元素的hover状态来控制.title的样式,这样无论悬停在链接内的哪个文本元素上,都能触发标题的下划线效果:

p\:link:hover .title {
    text-decoration: underline;
}

说明

<p:link>是两个文本元素的父容器,当鼠标悬停在链接区域内的任意位置(包括.subtitle)时,父元素的:hover状态会被激活,此时选中内部的.title元素添加下划线样式,完美满足需求。

如果觉得命名空间选择器p\:link不够直观,也可以给<p:link>添加自定义类名,比如link-wrapper,代码如下:

修改后的CSS

.link-wrapper:hover .title {
    text-decoration: underline;
}

修改后的HTML

<p:link href:... styleClass="link-wrapper">
   <h:outputText styleClass="title" value="Title"/>
   <h:outputText styleClass="subtitle" value="Subtitle"/>
</p:link>

内容的提问来源于stack exchange,提问作者Patricia Garcia Ferrandez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 02:45:33