首先,我意识到HTML中的样式应该由CSS处理,我不想改变它。
我只想要一个可以用于下划线的固体标签,一个意味着用于带下划线的文本的标签,或者一个有意义使用的标签。然后我可以用CSS设置它。
现在该标签在哪里?
为什么strong
,b
,em
,i
等完全正常(并且通常在浏览器中自动设置样式),但下划线是禁果?< / p>
我不想写
<span style="blabla: underline">some underlined text</span>
OR <span class="underlined">some text</span>
我可以使用
<u>hello</u>
并设计风格?
答案 0 :(得分:2)
从HTML 3.2开始,u
元素用于加下划线。 HTML 4.01通过“弃用”它来嘲笑它,HTML5建议以模糊的方式重新定义它的含义。然而,实际上,它适用于所有浏览器,并将继续工作,并具有下划线的确切效果。
除了网页上的链接之外,您是否应该强调任何内容都是另一个问题。那么你是否应该考虑逻辑结构而不是视觉渲染这个问题。
答案 1 :(得分:1)
下划线文本通常是一个坏主意,因为它应该专门为链接保留。用户通常希望能够使用带下划线的文本,并发生一些事情。
那就是说,我能想到一个主要的例外:
Price: <del>£12.34</del> <ins>£9.87</ins>!
大多数情况下,如果不是所有浏览器都会使用下划线呈现新价格,人们会将其理解为插入。
答案 2 :(得分:1)
如果我们试图了解HTML规范编写者想要实现的目标,我认为整个问题会更好。
在早期,HTML基本上是创建超文本文档的唯一工具,因此它试图提供所有必要的东西。随着网络的成长,很快就会发现这种一体化解决方案无法扩展。混合内容和演示文稿并未提供完全控制。所以采取了两个步骤:
下划线的问题在于它本身并没有任何意义。如果您在应用程序上下文中为其分配一个,那么它将具有意义(例如,您可以决定下划线文本将用于您的在线图书馆目录中的图书作者)。因此,当W3C的人员为多种内容类型(标题,缩写,日期......)创建HTML标签时,他们根本没有考虑强调:它故意超出语言范围。 #34;下划线&#34;没有HTML标记。出于同样的原因,没有标记为&#34;红圈&#34;或&#34;大写漫画 - 无文字&#34;。
当然,实际上有一个<u>
标记,但下划线只是一个服务建议,因为重要的部分是类似语义的打印<h1>
,字体很大。
答案 3 :(得分:0)
这不是禁止的,但更好的做法是不使用它,因为HTML 4 http://www.w3.org/TR/REC-html40/present/graphics.html#edef-U中不推荐使用下划线标记,因此无法验证。
答案 4 :(得分:0)
下划线元素更多是样式排队。所以,给一个像#34; underline_style&#34;这样的课程会更好。并在CSS中给出正确的规则。
答案 5 :(得分:0)
您仍然可以使用u
元素进行下划线,但因为它比b
,i
,strong
和em
更复杂将需要CSS来详细设计它。下划线具有样式和颜色属性,与其他提到的元素不同。您对此主题有更多了解here。