html5 语义化

HTML5 语义化标签

一.什么是语义化

html的布局以前使用的是div,就是简单的盒子的意思,尽管可以人为的添加class="header",但不能简单详细的表达出当前的盒子的意思。

根据MDN的描述,div元素并不强制性地定义一个章节,而语义化标签解决了这个问题,可以更好的生成大纲。

生成大纲的作用是:

1.有利于利用大纲渲染内容的辅助技术

2.有利于机器识别,如搜索引擎优化(SEO),盲人设备的识别与浏 览器爬虫

3.使开发者更好的阅读和理解

二.语义化标签的使用

2.1先解决语义化标签的兼容问题

早期IE是不支持html5新标签,所以可以有两种方式

第一种:自定义header标签,但不止有一个

js  document.createElement('header');
css header{display: block; }

第二种:使用html5shiv.js(一个封装好的框架),cdn或者下载下来

<head>
<meta charset="utf-8">
<title>渲染 HTML5</title>
 <!--[if lt IE 9]>
 <script src="http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
 <![endif]-->
</head>

注意:html5shiv.js 引用代码必须放在 <head> 元素中,因为 IE 浏览器在解析 HTML5 新元素时需要先加载该文件。

2.2有哪些标签及作用(不止以下)

1.显式定义的大纲节段是通过<body>,  <section>,  <article>,  <aside><nav> 这些标记中的内容。 
 section:定义文档中的节(section、区段)。
 article:定义页面独立的内容区域。论坛帖子、杂志或新闻文章
 aside:侧边栏或者标注框
 nav:提供导航链接
 标记节段的页眉和页脚:header,footer
2.分节根是一个HTML元素,这个元素可以拥有自己的大纲,但是元素内部的节段和标题对其祖先的大纲没有贡献。
<blockquote>, <details>, <fieldset>, <figure> <td>
<blockquote>添加引文
<details>描述细节,类似于选项卡
<fieldset>对表单中的相关元素进行分组
<figure>引用图片,插图,表格,代码段,与 <figcaption> (定义标题)使用

 

 

参考:

https://blog.csdn.net/weixin_30896825/article/details/99467214

https://blog.csdn.net/lixiuxiu2017/article/details/79587490

https://blog.csdn.net/jeft_hai/article/details/82317780

https://www.cnblogs.com/kaizi/p/7245517.html

https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/Sections_and_Outlines_of_an_HTML5_document(文档)

原文地址:https://www.cnblogs.com/listenMao/p/12833340.html