很长一段时间以来,我一直在我的HTML中使用“已弃用”的HTML标记,例如b
,i
,u
,用于优化很重要的项目。我经常会找到类似的代码:
<div class="WrapperName">
<div class="ItemElementName">
</div>
</div>
前段时间(有些奇怪的年代)我注意到谷歌使用了我在搜索列表中提到的标签,显然是为了优化输出。所以我上面的例子看起来像这样:
<b>
<u>
</u>
</b>
我喜欢这个,从那时起就一直在使用它。我主要在部分代码中使用不定义布局的标签,但是像重复容器的部分一样,因为这是最大的胜利。使用CSS我取消设置元素的默认属性,使它们成为“干净”的元素。
尽管在现代浏览器中你可以使用你喜欢的任何标签名称并且它会起作用,但我选择了这些标签,因为它们适用于较旧的(IE)浏览器,所以我不需要在浏览器中注册它们。
对这种工作方式有没有真正的反对意见?标签本身已经弃用(所以不要添加任何特定的值 - 就像我想要的那样)并且它们很短并适用于所有浏览器..
答案 0 :(得分:2)
答案 1 :(得分:1)
基本问题与某个元素是否已弃用无关。您有效地询问HTML标记的使用是否与其定义的含义无关,甚至与其定义的含义相反,仅仅因为标记很短并且您希望覆盖它们的默认样式并强加您自己的样式。有几种反对这种用法的论据。它们对于各种用途都不具有决定性作用,但它们在网页上的使用非常值得怀疑:
某些元素具有您可能无法覆盖的已定义或实际功能。例如,<input>
元素接受用户输入并参与Tab键顺序。这可能不适用于您心中的单字母标签,但值得注意的是关于“免费”使用标签的一般观点。
元素可能具有默认渲染,您无法(完全)覆盖(所有)浏览器。特别是较旧的浏览器可以使用对CSS免疫的渲染例程(例如,用于表单字段)。这也可能不适用于单字母标记。
CSS最终只是表达性的建议,可能会被多种原因以多种方式忽略或覆盖;见CSS Caveats。
搜索引擎会以自己的方式处理标签。例如,他们可能会将b
元素内容作为相对于同一页面上其他文本的相对权重。
使用标签维护页面变得复杂,特别是如果不熟悉这个想法的人需要接管它。
最好使用未定义的代码,例如<c>
,<d>
,<e>
等,即使您必须使用IE“注册”它们(它只是一个{{ 1}}每个标签名称)。但是许多反驳仍然适用(有些浏览器可能会在某一天定义document.createElement()
并带来一些令人惊讶的含义。)
答案 2 :(得分:-1)
b
,i
和u
,并且您不应该编写自己的标记名称,因为规范不允许这样做。使用strong
标记表示您要强调的内容,然后使用span
。 span
的特定目的是允许您使用它将任何CSS应用于某些文本。