Html5语义化标签的启示

语义化标签,顾名思义也就是可以直接读懂的标签。最早接触HTML5的时候,对HTML5的语义化并没有太深的理解,只是对Html几个新增的功能很感兴趣,比如画布;Html5的语义化标签,header,footer
,nav等,这些本质上就是Div,在html4时代,我们用div id="header","footer",也能漂亮地完成header、footer这些标签相同的效果,html5为什么要多此一举把这些div单独分离出来作为新的标签呢?

专注内容与结构

在HTML5之前,DIV+CSS实际上就能很好渲染出一个web页面。HTML5已不仅仅满足于怎样将一个网页表现出来了,而是更加专注网页的结构,更加务实地关注网页的内容。
我们用div来表示页面元素,但是这些div都没有实际意义。为了区分不同的结构,我们往往给这些div设置不同id,ID名称标记了这个Div负责的区块。而HTML5则为这些不同的区块创造不同的标签。
我们浏览过成千上万的网页,或看新闻,或听音乐,或看视频,最终你发现其实发现千万个网页实际上有着大同小异的结构:导航条、标题、内容、底部,几乎“万变不离其宗”,html5干脆使用不同的语义化的标签来各司其职地代表网页的不同部分。当使用了这些语义化的标签后,可以帮助你更好地理解网页的框架。
即使在没有CSS的情况下,HTML页面也能呈现出很好地内容结构、代码结构。

Paste_Image.png

** 我们来回顾几个HTML5几个语义化标签:**

  • 1):article标签:装载显示一个独立的文章内容。
    例如一篇完整的论坛帖子,一则网站新闻,一篇博客文章等等,一个用户评论等等 artilce可以嵌套,则内层的artilce对外层的article标签有隶属的关系。
    例如,一个博客文章,可以用article显示,然后一 些评论可以以article的形式嵌入其中。
  • 2):section 标签:定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。
  • 3):aside 标签: 用来装载非正文类的内容。例如广告,成组的链接,侧边栏等等。
  • 4):hgroup 标签:用于对网页或区段的标题元素(h1-h6)进行组合。
    例如,在一个区段中你有连续的h系列的标签元素,则可以用hgroup将他们括起来。
  • 5):header 标签:定义文档的页面组合,通常是一些引导和导航信息。
  • 6):footer 标签:定义 section 或 document 的页脚。
    在典型情况下,该元素会包含创作者的姓名、文档的创作日期以及/或者联系信息。
    实例:
    <footer> © 2012 Baidu 使用百度前必读 京ICP证030173号 </footer>
  • 7):nav 标签:导航链接放在nav标签里。
    nav标签里应该放入一些当前页面的主要导航链接。
    例如在页脚显示一个站点的导航链接(如首页,服务信息页面,版权信息页面等等),就可以使用nav标签,当然,这不是必须的。
  • 8):time 标签:定义公历的时间(24 小时制)或日期,时间和时区偏移是可选的。
    该元素能够以机器可读的方式对日期和时间进行编码,搜索引擎也能够生成更智能的搜索结果
  • 9):mark 标签:定义带有记号的文本。请在需要突出显示文本时使用 <mark> 标签。
  • 10):figure标签:规定独立的流内容(图像、图表、照片、代码等等)。
    figure 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。
  • 11):figcaption 标签:定义 figure 元素的标题(caption)。

语义化标签的默认CSS

语义化标签不是html5的“专利”,比如html5之前的h1、h2等等就是语义化标签,他们表示几级标题;虽然我们在html没有引入任何css时,我们仍然可以看到h标签有字体放大加粗的效果。
实际上,html本身是没有表现的,我们看到例如 h1标签是粗体,字体大小2em,加粗;strong是加粗的,不要认为这是html的表现,这些其实html默认的css样式在起作用,所以去掉或样式丢失的时候能让页面呈现清晰的结构不是语义化的HTML结构的优点,但是浏览器都有有默认样式,默认样式的目的也是为了更好的表达html的语义,可以说浏览器的默认样式和语义化的HTML结构是不可分割的。


浏览器默认的CSS

模块化,便于团队开发和维护

不同的语义化标签实际上为我们将网页划分了不同的模块,结构分明更利于分解模块,利于团队的合作和维护。或者当你自己审查元素的时候,当你看到“header”是自然知道这应该是网页的头部,你进入这个标签可能还会发现一个nav标签,你会很快联想到这是个导航条。你可以迅速顾名思义让自己或他人知道网页的结构,而不是看见一堆div让自己头大。

不同标签,其内容可能有不同的关注度

一个网页有不同的部分,但是不一定每一部分都是你感兴趣的,比如当你看到我写的这边文章时,你可能更加关注我的文章内容,可能不那么关注我叫什么名字,不会关注我有多少个粉丝。更夸张一点,当你看到一段精彩的电影时,不会关注旁边弹出的膏药一样的广告,相反广告只会让你恼怒。不同的语义化标签,实际上分割了不同的内容。

语义化标签更加标准化,让机器更懂HTML

读到上面的时候,你可能会说,用户看网页的时候,一般不会像那些程序员哥哥那样强迫症般地查看源代码来看看用了那些语义化标签(程序员哥哥。。。不好意思,好像说的是我自己),谁知道不同的模块,用了哪个语义化标签。对于人来说,不管你是语义化标签还是div,看到的都是活生生的、渲染好的网页啊!
其实,语义化标签,或许并不是给人看的(没有骂程序猿GG的意思),可能还是机器看的。
讲个例子,极客人在使用wordpress时装过一个为文章生成目录的插件。这个插件的原理就是遍历文章提取内容中的h标签,然后生成目录。实际上就是通过识别语义化标签的方式提取内容。
再讲一个类似的但是不是通过识别语义化标签的例子, 见过别人用过一些爬虫插件,就是把别人家网站的博客内容抓下来然后发布到自己的博客上,原理是需要在后台输出要抓取网页的网址,然后过滤网页内容中div的class属性来把文章的导航链接(往往是目录链接)、内容页分离出来。比如有的网站的文章目录使用div class="nav"的css样式,内容使用div class="content"的css,我们可以正则匹配一下nav、content把需要的信息过滤出来。但是不是所有的网站都是使用这种class名称,有的网站也许用div class="post"来表示文章内容。也就是说class="nav",class="content",不是一个标准化的名称。然后nav,article语义标签则为我们可以提供了一个标准化。如果我们很严格按照html5语义标签的使用规则来设计自己的网页,将很利于爬虫“看懂”我们的网页。

内容权重差异化,给SEO会带来变革吗

前面讲到,语义化标签更利于机器看懂我们写的html,同时不同的内容有着不同的关注度。个人绝对这对SEO可以带来一定的变革的。
当我们使用搜索引擎时,很恼火地搜到和搜索词完全不相干的内容。仔细一看才发现自己的搜索词实际上仅仅出现在一个网站的广告词。如果我们可以通过语义化标签,将网页的重点:比如文章的内容,放在一个article,不太重点的广告词、文章推荐列表放在aside里,就可以成功分化不同内容的权重。实际上搜索引擎可以给某些语义化标签更高一点的权重,从而提高搜索精准度。
当然,这是个人对搜索引擎的期待。若如此,这势必可以给SEO带来变革。

有许多个人观点希望大家交流斧正!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容

  • 首先是关于语义(Semantics)和默认样式的区别,默认样式是浏览器设定的一些常用tag的表现形式,语义化的主要...
    DecadeHeart阅读 3,420评论 0 3
  • HTML 5的革新之一:语义化标签一节元素标签。 在HTML 5出来之前,我们用div来表示页面章节,但是这些di...
    吴越公子阅读 757评论 0 0
  • HTML5 标签comment 注释标签用于在源文档中插入注释。注释内容不会被浏览器显示。为代码编写注释的好处是...
    才気莮孒阅读 4,039评论 1 25
  • 1. HTML语义化背景介绍 讲到语义化,我们首先来聊聊html语义化的背景,HTML结构语义化,是最近几年才提出...
    阿布_0caf阅读 25,385评论 1 20
  • 今天拿着手机无意间在视频上看到推荐《夏洛特烦恼》,便心血来潮看了。之前见过片段和故事梗概。 号称十亿票房的大片,说...
    大上海阅读 431评论 0 0