1

很长一段时间以来,我一直在我的 HTML 中使用“已弃用”的 HTML 标签,例如b, i,u用于优化很重要的项目。我经常会发现如下代码:

<div class="WrapperName">
  <div class="ItemElementName">
  </div>
</div>

不久前(有些奇怪的年份)我注意到谷歌使用了我在搜索列表中提到的标签,显然是为了优化输出。所以我上面的例子可能看起来像这样:

<b>
  <u>
  </u>
</b>

我喜欢这个,从那以后就经常使用它。我主要在没有定义布局的部分代码中使用标签,但是像重复容器的部分一样,因为这是最大的胜利。使用 CSS 我取消设置元素的默认属性以使它们成为“干净”的元素。

即使在现代浏览器中,您可以使用任何您喜欢的标签名称并且它会起作用,但我选择了这些标签名称,因为它们适用于较旧的(IE)浏览器,因此我不需要在浏览器中注册它们。

对这种工作方式有什么真正的反对吗?原来的标签已经被弃用(所以不要添加任何特定的值 - 就像我想要的那样),它们很短并且适用于所有浏览器..

4

3 回答 3

2

<b>, <i>an等元素<u>没有被弃用,它们的含义刚刚改变,所以继续使用它们。

(我已经将上面的每一个链接到它在 W3C HTML5 规范中的条目)

于 2012-12-10T09:31:42.837 回答
1

某些元素是否被弃用与基本问题无关。您实际上是在询问 HTML 标签的使用与它们定义的含义无关,甚至与它们定义的含义相反,仅仅是因为标签很短,您希望覆盖它们的默认样式并强加您自己的样式。有几个反对这种用法的论据。它们对所有类型的使用都不是决定性的,但它们使网页上的使用受到高度质疑:

某些元素具有您可能无法覆盖的已定义或实际功能。例如,一个<input>元素接受用户输入并参与跳格顺序。这可能不适用于您脑海中的单字母标签,但值得注意的是关于“免费”使用标签的一般要点。

元素可能具有您无法(完全)在(所有)浏览器中覆盖的默认渲染。尤其是较旧的浏览器可能会使用不受 CSS 影响的渲染例程(例如,表单字段)。这也可能不适用于单字母标签。

CSS 最终只是表示建议,可能会被多种原因和多种方式忽略或覆盖;请参阅CSS 警告

搜索引擎将按照自己的方式处理标签。例如,他们可能认为b元素内容比同一页面上的其他文本具有更多的相对权重。

以这种方式使用标签维护页面变得复杂,特别是如果不熟悉这个想法的人需要接管它。

<c>使用,等未定义的标签可能会更好<d><e>即使您必须在 IE 中“注册”它们(document.createElement()每个标签名称只有一个)。但是许多反驳仍然适用(并且某些浏览器有一天可能会定义<c>一些令人惊讶的含义)。

于 2012-12-10T11:07:40.290 回答
-1

b, i, 和u已被弃用,您也不应该使用自己的标签名称,因为规范不允许这样做。将strong标签用于您想要强调的内容并span用于其余内容。span具有特定目的,允许您使用它来将您喜欢的任何 CSS 应用于某些文本。

于 2012-12-10T08:34:19.743 回答