HTML 语义化

语义化的主要目的就是让大家直观的认识标签(markup)和属性(attribute)的用途和作用。优化搜索引擎,让爬虫能更好地理解网页结构。

为什么要使用语义化标签?

  • 为了在没有css的情况下,页面也能呈现出良好的文档结构和代码结构
  • 提高用户体验,例如title、alt可进行详细说明
  • 有利于SEO,爬虫只看得懂代码
  • 方便特殊设备的解析,如屏幕阅读器、盲人阅读器等
  • 便于团队的开发和维护,语义化标签使代码更具可读性

HTML标签

HTML标签可以分为有语义的标签,和无语义的标签。

  • table表示表格,form表示表单,a标签表示超链接,strong标签表强调。
  • 无语义标签典型的有 <div> <span>等。

HTML5中,语义化标签

<header>、 <nav>、 <section>、 <article> 、<figure> 、<dialog>、 <aside> 、<footer>、 <time>、<mark>、<hgroup>

HTML5网页的典型结构
  1. <header>标签
    <header>标签是一个网页或者一个区域内的标题。定义sectiondocument的页眉,包含一些内容介绍等信息。

  2. <nav>标签
    <nav>表示导航栏。

  3. <section>标签
    <section>元素定义文档中的节(区段)。通常有一个标题和页脚。

  4. <article>标签
    <article>用于表示内容与当前文档或网页关联不大的外部资讯,或任何其他内容的独立项目。如杂志、报纸或博客等的外部内容。

  5. <figure>标签
    <figure>表示一个自包含内容单元(含可选的标题),重点是即使将该内容移除也不会影响文档整体的含义。包含<figcaption>标签表示figure元素的标题。

  6. <dialog>标签
    <dialog>定义对话框或窗口。

  7. <aside>标签
    <aside>表示与正文内容关系不大的内容。如侧栏内容、注解或页脚等内容。

  8. <footer>标签
    <footer>用于定义 sectiondocument 的页脚。页脚通常包含有关的区域如他写的,有关文件,链接资料的版权等

  9. <time>标签
    <time>表示内容日期/时间,或者通过datetime特性标识出内容关联的日期/时间。格式如下:

    YYYY-MM-DDThh:mm:ssTZD
    具体为:
    YYYY - 年 (例如 2011)
    MM - 月 (例如 01 表示 January)
    DD - 天 (例如 08)
    T - 必需的分隔符,若规定时间的话
    hh - 时 (例如 22 表示 10.00pm)
    mm - 分 (例如 55)
    ss - 秒 (例如 03)
    TZD - 时区标识符 (Z 表示祖鲁,也称为格林威治时间)
    
  10. <mark>标签
    <mark>突出与特定主题(上下文)关联的内容

  11. <hgroup>标签
    <hgroup>对h1-h6标签进行分组。内含一个或多个h1-h6标签。例如:文章主标题和副标题。

  12. <progress>标签
    <progress>表示某项任务的执行进度,通过max特性设置任务完成时的值,通过value特性设置任务当前的执行进度。样式效果为进度条。

  13. <output>标签
    <output>定义内容为计算结果,可在form元素提交时向服务端发送其内容。for特性用于设置与计算结果相关的表单元素id,多个id时使用空格分隔。

  14. <details>标签
    <details>用于描述文档或文档某个部分的细节。默认不显示详细信息,通过open特性可修改为显示详细信息。通过点击标题可实现展开/收缩详细信息的效果。结合<summary>元素可自定义标题的内容。

  15. <ruby>标签
    <ruby>元素:显示的是东亚字符的发音。需要结合<rt>元素和可选的<rp>元素使用。
    <div>
    <ruby>漢 <rt>ㄏㄢˋ</rt><rp>(ㄏㄢˋ)</rp></ruby>
    </div>
    <ruby>漢 <rt>ㄏㄢˋ</rt><rp>(ㄏㄢˋ)</rp></ruby>

  16. <main>标签
    <main>表示文档的主要内容,一个文档仅能出现一个<main>元素,并且不能作为以下元素的后代:<article>、<aside>、<footer>、<header> 、<nav>

IE9旧版本浏览器支持

IE9以下旧版本浏览器不支持新的语义化标签。

  • 解决方案1:使用js将HTML5增加的标签创建出来:
<script type="javascript">
  var html5Tags = ['header' ,'footer','article','nav' ,'section','aside'];
  for( var i = 0;i < html5Tags.length ; i++ ){
    document.createElement(html5Tags[i]);
  }
</script>
<!--[if lte IE 9]> 
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

参考资料

w3cschool-html5-tags
w3c-html5

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

推荐阅读更多精彩内容