HTML之语义化标签

原文地址:https://banggan.github.io/2019/01/25/重学前端之HTML语义/
HTML的语义类标签在我们的工作中经常遇见的,语义是我们说话表达的意思,多数的语义实际是从文字继承而来的。语义类的标签是纯文字的补充。

为什么要用语义标签?

正确使用语义标签的好处在于:

  • 语义类标签对开发者更为友好:增强可读性,清晰的网页结构,方便团队的开发和维护。

  • 有利于SEO搜索引擎检索。

并不是说不管什么场景都尽量使用语义类标签,不恰当的使用反而会造成冗余,如ul无序列表,很多时候我们都给并列关系的元素套上ul:

I have lived in the following countries:

  • China
  • Norway
  • UT

由此可见,ul出现在行文中间,它的上文多数在于提示列举的某些项,但如果所有并列关系都用ul,会造成冗余标签。

重要的几个使用场景

作为自然语言的延伸

作为自然语言和纯文本的补充,用来表达一定的结构。
如在HTML5中提出的特定文档级别的语义:

ruby语义化

ruby是一种排版注释系统,位于横排基础文本上方的简短文字,如下图:

ruby设计的元素包括ruby、rt、rp,使用ruby指定一个具体的表达式,rt提供说明,rt部分将显示子表达式的上方:

bishi
    的眼神

但是在不支持ruby的浏览器中需要使用rp对这两个区块进行视觉上的隔离。

 
        bi
        shi
    
    的眼神
   
略微改变的元素

比如使用em和strong来强调一段重要的文本,cite用来为对参考文献的引用进行定义,比如书籍或杂志的标题。small不仅仅指的是小字体,它还同样为法律声明增添不具有重要性的旁注或小字。hr现在表达的是主体性的间断,不再仅仅是分割版面的一条水平线。

mark高亮标记

可以使用mark元素来标记出网页里被搜索的关键词或是用于高亮显示一段解释性的代码。

作为标题摘要

作为文章的结构的提现,语义化的HTML还能支持自动生成目录结构;
如h1-h6是html中基础的标题,表示了文章不同层级的标题。有时候,会有副标题,为了避免副标题产生额外的层级,使用hgroup标签:

作为整体结构

应用语义结构的页面,可以明确的提示出页面信息的主次关系,能让浏览器更好的支持阅读视图功能:
如一个典型的body结构:


    
....
.....
  • header,出现在头部,表示导航或者介绍性的信息。
  • footer,出现在尾部,包含作者信息、相关的链接。
  • nav,表示页面的导航,可以通过导航连接到网站的其他页面,或者当前页面的其它部分.

你可能感兴趣的:(HTML)