语义化HTML结构漫谈

开发 前端
语义化的HTML在是国内这一两年比较热门的话题,什么是语义化的HTML?那么为什么要使用语义化的HTML?语义化的HTML到底有什么好处呢?

相信大家都知道HTML和CSS,知道HTML结构和CSS表现分离,知道HTML语义化,这些都是这几年的热门关键字。语义化的HTML在国内也是一两年前才开始被追捧的,看看现在群里谈论的HTML结构,关于HTML结构的面试题,语义化的HTML占据了很大一部分。那么为什么要使用语义化的HTML?语义化的HTML到底有什么好处呢?

HTML是提供网页文档内容的上下文结构和含义;HTML本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗;<strong>是加粗的,不要认为这是HTML的表现,这些其实HTML默认的CSS样式在起作用,所以首先我们要知道HTML和页面的表现是没有关系的,这些是CSS的事情。HTML在页面中的作用就是结构和含义,通俗点说就是划分内容,这里放什么,我们放的是什么。

语义化的HTML结构首先要强调HTML结构

HTML结构是页面的骨架,一个页面就好像一幢房子,HTML结构就是钢精钢筋混泥土的墙,一幢房子如果没有钢精钢筋混泥土的墙那就是一堆费砖头,不能住人,不能办公。CSS是装饰材料,是原木地板,是大理石,是油漆,是用来装饰房子的,CSS的强大就不用多说了,CSS如果没有HTML结构那就是一堆木板,一同油漆,没有了实际使用价值。CSS完全依靠引用它的(X)HTML文档。如果你想使CSS的能力充分发挥到***,提供一个用既干净又有结构的内容的HTML是非常必要的,“HTML是在互联网上发布超文本的通用语……HTML使用标签来对文本结构化”。

语义化的HTML结构怎么写?

HTML是一种对文本内容进行结构和意义(或者说“语义”)进行补充的方法。它会告诉我们说:“这行是一个标题,这几行组成了一个段落。这些文字是项目列表,这些文字是链接到互联网上另一个文件的超链接。”值得注意的是,不应该让HTML来告诉我们:“这些文字是蓝色的,这些文字又是红色的。这部分内容是最最靠右的一栏,这行内容是斜体字。”这些和表现相关的信息是CSS的工作。在做前端开发的时候要记住:HTML告诉我们一块内容是什么(或其意义),而不是它长的什么样子。当我们提到“语义标记”的时候,我们所说的HTML应该是完全脱离表现信息的,其中的标签应该都是语义化地定义了文档的结构。

写语义化的HTML结构其实很简单,首先掌握HTML中各个标签的语义,<div>是一个容器;<strong>是表示强调;<ul><li>是一个无序列表等等…在看到内容的时候想想用什么标签能更好的描述它,是什么就用什么标签。

语义化的HTML结构到底有什么好处?

我们知道HTML5新增的标签,比如<header>和<footer>,HTML正在朝着更加健壮的语义化的HTML结构发展,xHTML2在这点上没HTML5先进,这也是xHTML2死亡的一个原因,这一点也说明了语义化的HTML结构是HTML的发展趋势。

1.去掉或样式丢失的时候能让页面呈现清晰的结构:

HTML本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗;<strong>是加粗的,不要认为这是HTML的表现,这些其实HTML默认的CSS样式在起作用,所以去掉或样式丢失的时候能让页面呈现清晰的结构不是语义化的HTML结构的优点,但是浏览器都有有默认样式,默认样式的目的也是为了更好的表达HTML的语义,可以说浏览器的默认样式和语义化的HTML结构是不可分割的。

2.屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页.

例如,如果你使用的含语义的标记,屏幕阅读器就会“逐个拼出”你的单词,而不是试着去对它完整发音.

3.PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱).

使用语义标记可以确保这些设备以一种有意义的方式来渲染网页.理想情况下,观看设备的任务是符合设备本身的条件来渲染网页.

语义标记为设备提供了所需的相关信息,就省去了你自己去考虑所有可能的显示情况(包括现有的或者将来新的设备).例如,一部手机可以选择使一段标记了标题的文字以粗体显示.而掌上电脑可能会以比较大的字体来显示.无论哪种方式一旦你对文本标记为标题,您就可以确信读取设备将根据其自身的条件来合适地显示页面.

4.搜索引擎的爬虫也依赖于标记来确定上下文和各个关键字的权重.

过去你可能还没有考虑搜索引擎的爬虫也是网站的“访客”,但现在它们他们实际上是极其宝贵的用户.没有他们的话,搜索引擎将无法索引你的网站,然后一般用户将很难过来访问.

5.你的页面是否对爬虫容易理解非常重要,因为爬虫很大程度上会忽略用于表现的标记,而只注重语义标记

因此,如果页面文件的标题被标记,而不是,那么这个页面在搜索结果的位置可能会比较靠后.除了提升易用性外,语义标记有利于正确使用CSS和JavaScript,因为其本身提供了许多“钩钩”来应用页面的样式与行为.
SEO主要还是靠你网站的内容和外部链接的。

6.便于团队开发和维护

W3C给我们定了一个很好的标准,在团队中大家都遵循这个标准,可以减少很多差异化的东西,方便开发和维护,提高开发效率,甚至实现模块化开发。

 

【编辑推荐】

  1. 未来10年互联网十大趋势 语义网居首
  2. Web3.0、关联数据和语义网
  3. HTML 5中的五个应用亮点
  4. 细谈HTML 5新增的元素
  5. Google力挺HTML 5 或成未来应用核心
责任编辑:佚名 来源: css88
相关推荐

2013-01-30 16:52:06

2019-06-19 15:35:16

云计算虚拟化容器化

2019-06-18 16:47:16

云计算虚拟化容器化

2018-03-08 16:04:19

2018-03-28 15:21:52

虚拟化类型

2017-11-29 14:57:47

虚拟化内核IO

2010-04-08 09:27:04

PHP设计模式结构模式

2010-03-29 10:45:48

HTML 5

2016-09-09 14:42:27

云计算华为开发者社区

2013-06-09 11:04:07

设计扁平化设计平面化设计

2021-05-10 07:08:41

数据结构缓存

2018-03-21 11:00:45

2021-01-20 08:24:38

序列化内存对象

2017-10-14 13:54:26

数据可视化数据信息可视化

2018-04-17 15:03:40

CPU虚拟化半虚拟化

2018-05-08 15:16:59

内存虚拟化处理器

2014-03-11 11:03:17

自动化脚本PowerShell

2020-02-26 08:16:32

AIoT人工智能物联网

2012-05-03 14:54:15

HTML5

2017-09-13 14:28:02

Linux初始化系统运行级别
点赞
收藏

51CTO技术栈公众号