html中的自定义标签和语义元素

    HTML元素本质上是样式无关的

      自从html5中出现了语义元素,html文档中的元素种类增多了,对已有的元素在样式上进行比较,其实可以发现html中的标签除了名称不同,它们的本质作用都是一样的:声明一个元素节点,只不过浏览器默认样式表(user agent stylesheet)对各种标签应用了不同的样式:

  • div元素的默认样式定义
    div的默认样式定义
  • span元素的默认样式定义:
    ~~~没有显示定义,应用缺省样式display:inline;
  • 语义元素的默认样式定义:
    这里写图片描述

      在以上机理下,才将html元素分成了块级元素、行内元素以及行内块级元素,然而这些样式都是可以被覆盖的。html元素的本质是样式无关的,所有html元素体现的的样式都是CSS样式表的作用。在我看来,浏览器为元素使用默认样式的原因只是为了开发者使用方便。

      浏览器怎么处理html5未定义的标签

      html5中未定义的标签(eg:<my-element>)仍然被当作html元素来处理,在样式方面,只不过浏览器的默认样式表中没有为这些标签定义默认样式,于是就被应用了缺省样式display:inline,也就是行内元素。

猜你喜欢

转载自blog.csdn.net/buttonchan/article/details/80150052