H5 前端语义化标签,及其低版本浏览器兼容解决方案


🌵 一、什么是HTML语义化

HTML5中新添加了部分语义化标签,这样我们就可以根据网页内容的结构来选择合适的语义标签,不再是千篇一律的<div>和<span>。

这样做可以:
1️⃣ 页面结构清晰,页面在丢失CSS样式时,仍能够清晰的展现 出页面的基本结构。
2️⃣ 代码规范易于维护,在团队开发中更有利。
3️⃣ 便于浏览器解析,有利于SEO。

🌵 二、HTML语义化标签主要有哪些

标签 语义
<header> 定义部分区域的页眉(头部)
<nav> 定义含有多个超链接的导航栏区域
<main> 定义主要内容区域
<section> 定义某个专题组
<article> 定义与外层元素有关的文章,可能是论坛帖子、博客、评论…
<aside> 侧边栏
<figure> 定义独立的流内容(图像、图标、照片、代码等,删除后不会对文档流产生影响)
<figcaption> 置于<figure>元素的第一个或者最后一个元素的位置,用于对figure的内容进行说明
<footer> 定义部分区域的页脚(底部包含版权数据或者联系方式等)
<dialog> 定义一段对话
<address> 定义页面或者作者的联系地址
<mark> 定义标记
(待补充部分)

🌵 三、HTML语义化在低版本浏览器兼容解决方案

语义化是在H5中明确的规范,IE8及更早IE版本无法在这些元素中渲染CSS效果,有些工作中可能会涉及到兼容的问题。

目前的解决方案有:

  1. JavaScript添加自定义标签

    1
    document.createElement("nav");
  1. 引入html5shiv.js —— 针对IE浏览器的HTML5 JavaScript补丁,目的是让IE识别并支持HTML5元素

    1
    <script src="html5shiv.js"></script>

📜 参考文章