当我可以使用自己的标签时,为什么要使用“class =”?

时间:2014-01-16 12:09:18

标签: html class tags

我只是想知道为什么我应该使用“class =”识别器而不是我自己的“tag”()?

Class example

 <span class="red"> Hello there! (using class)</span>
 .red {color: red;}

Tag example

<div id="reddiv">
<red>Hello, there (using own tag)</red>    
</div>
#reddiv red {color: red;}

我更容易使用自己的标签,因为它写得更快。 如果以第一种/第二种方式进行,有没有任何消极/可能的方面,你能告诉我吗?

5 个答案:

答案 0 :(得分:3)

虽然这可能适用于大多数浏览器,但您的HTML会丢失上下文。当像搜索引擎(或屏幕阅读器或其他任何查看源代码的人)的应用程序解析您的文档时,它的名称为“red”或“purple”或“job”的标记是什么?它没有上下文,所以你会失败。 HTML使用一组具有意义的预定义标记,您可以冒险使用它,但是您将失去每个人立即理解(全部或部分)文档的优势。

如果此文档是数据传输框架的一部分而不是公共网络,那么您应该查看XML。

答案 1 :(得分:2)

使用课程有很多好处。

  1. 首先,对于类,我们使用css样式,它提供了比简单HTML标记更多的配置选项。
  2. 我们在一个项目中提供所有样式和格式,只需在我们想要应用它们的地方调用该类,在ERP等大型项目中,它们会对代码大小产生很大影响。
  3. css样式与最新版本的浏览器更兼容,并且在最新版本的HTML中不推荐使用许多旧的HTML格式和样式标记。
  4. HTML标记在不同的浏览器和不同的文档模式下表现不同。 css在任何地方都会给出相同的结果。
  5. 只需在页面顶部的某处定义css类,就可以立即将其应用于页面上的所有相关标签。

答案 2 :(得分:1)

您也不应忘记预定义标签有很多默认属性,而自定义标签没有。因此,除了span之外,您还需要为所有元素重新定义everthing。 此外,您可以在元素上拥有多个类,因此<span class="red bold">Red</span>是可能的。

答案 3 :(得分:1)

您可以删除,更改和交换类,以更改动态元素样式或行为,使用标记无法做到的事情。 Tag是需要类来设置行为和样式的元素。

答案 4 :(得分:-1)

使用document.registerElement():

创建自定义元素
var reds = document.registerElement('red');
document.body.appendChild(new reds());