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

无法通过<u>标签选择器设置text-underline-offset,但<a>标签可正常生效

为什么标签的text-underline-offset样式无法生效?如何解决?

你尝试用属性选择器给标签设置下划线偏移,但样式没生效,代码如下:
CSS:

u[JSON Fetch Request example]
{
    text-underline-offset: 3px;
}

HTML:

<h1><u>JSON Fetch Request example</u></h1>

而用属性选择器选中指定href的标签时样式能正常生效:
CSS:

a[href="https://cnn.com/"] {
  color: red;
}

HTML:

<a href="https://cnn.com/">cnn</a>

原因分析

你的标签CSS选择器写法完全错误。属性选择器的语法是元素[属性名="属性值"],比如a标签的a[href="xxx"],是选中带有href属性且属性值为指定内容的a元素。但你写的u[JSON Fetch Request example]既没有指定属性名,也没有正确的属性值格式,浏览器根本识别不了这个选择器,自然不会给目标标签应用样式。

而且你的标签本身就没有任何自定义属性,就算要写属性选择器,也得先给标签加属性才行。


解决方法

根据你的需求,有几种可行的解决方式:

  • 给标签添加class属性,通过类选择器选中:
    HTML修改为:
    <h1><u class="custom-underline">JSON Fetch Request example</u></h1>
    
    CSS修改为:
    u.custom-underline {
        text-underline-offset: 3px;
    }
    
  • 如果这个标签是页面中唯一的,或是h1下的唯一u标签,可以用后代选择器直接选中:
    h1 u {
        text-underline-offset: 3px;
    }
    
  • 若坚持想用属性选择器,可给标签添加自定义属性后再选中:
    HTML修改为:
    <h1><u data-text="JSON Fetch Request example">JSON Fetch Request example</u></h1>
    
    CSS修改为:
    u[data-text="JSON Fetch Request example"] {
        text-underline-offset: 3px;
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:15:32