我应该/可以为带下划线的文本使用什么标签?

问题描述 投票:0回答:7

首先,我意识到 HTML 中的样式应该由 CSS 处理,我不想改变这一点。

我只想要一个可以用于下划线的实体标签,一个“意味着”用于下划线文本的标签,或者一个有意义的标签。然后我可以用 CSS 设计它的样式。 现在那个标签在哪里?

为什么

strong

b
em
i
等都很好(并且通常在浏览器中自动设置样式),但下划线是禁果?

我不想写

<span style="blabla: underline">some underlined text</span> OR <span class="underlined">some text</span>

当我可以使用时

<u>hello</u>

并设计它的风格?

html semantic-markup underline
7个回答
3
投票
HTML 3.2

起,

u
元素就用于加下划线。 HTML 4.01 通过“弃用”它来对它皱眉,而 HTML5 则建议以一种晦涩的方式重新定义它的含义。然而,实际上,它适用于所有浏览器,并且将继续工作,并且具有下划线的确切效果。 是否应该在网页上除链接之外的任何内容下划线是另一个问题。所以问题是你是否应该从逻辑结构而不是视觉渲染的角度来思考。


1
投票

也就是说,我能想到一个主要的例外:

Price: <del>£12.34</del> <ins>£9.87</ins>!

大多数(如果不是全部)浏览器都会在此处呈现带有下划线的新价格,人们会理解它是一个插入。


1
投票

早期,HTML 基本上是创建超文本文档的唯一工具,因此它试图提供所有必要的东西。随着网络的发展,很快就发现这种一体化解决方案无法扩展。混合内容和演示并不能提供对两者的完全控制。所以采取了两个步骤:

创建了一种新语言来处理视觉效果
  • HTML 本身被清理以专注于内容定义
  • 下划线的问题在于它本身并没有任何意义。如果您在应用程序上下文中为其指定一个,它将有意义(例如,您可以决定将下划线文本用于在线图书馆目录中的图书作者)。因此,当 W3C 的人员为多种内容类型(标题、缩写、日期...)创建 HTML 标签时,他们根本没有考虑下划线:它是故意超出语言范围的。没有“下划线”的 HTML 标记,其原因与没有“红色圆圈”或“大写 Comic-Sans 文本”的标记相同。

当然,事实上有一个

<u>

标签,但下划线只是一个服务建议,因为重要的部分是语义——比如用大字体打印

<h1>
    


0
投票
http://www.w3.org/TR/REC-html40/present/graphics.html#edef-U

所以不会验证。


0
投票


0
投票
u

元素作为下划线,但因为它比

b
i
strong
em
更复杂,您将需要 CSS 对其进行详细样式设置。下划线具有样式和颜色属性,这与其他提到的元素不同。您可以在
此处
了解有关此主题的更多信息。


0
投票

示例:

u { text-decoration: underline; } <p>This is some <u>Text</u> text.</p>

	
© www.soinside.com 2019 - 2024. All rights reserved.