HTML5HTML5学习笔记HTML5

HTML5部分新语义标签

2017-04-27  本文已影响43人  Rella7

语义标签

举个例子,语义标签就是标签本身代表了一定的含义

HTML5部分新语义标签

HTML5中有部分语义标签,在使用时十分简单,但是由于语义性更强,更利于开发者以及搜索引擎对于网页的理解。

标签名 作用
nav 表示导航
header 表示页眉
footer 表示页脚
main 文档主要内容
article 文章
aside 主题内容之外,侧边栏

实际应用

网页布局.png
<body>
<!--头部start-->
<div class="header">
    <!--导航start-->
    <ul class="nav">
        <li><a href="#">导航1</a></li>
        <li><a href="#">导航2</a></li>
        <li><a href="#">导航3</a></li>
    </ul>
    <!--导航end-->
</div>
<!--头部end-->

<!--主体start-->
<div class="main">
    <!--文章start-->
    <div class="article"></div>
    <!--文章end-->

    <!--侧边栏start-->
    <div class="aside"></div>
    <!--侧边栏end-->

</div>
<!--主体end-->

<!--底部start-->
<div class="footer"></div>
<!--底部end-->
</body>
<body>
<!--头部start-->
<header>
    <!--导航start-->
    <nav>
        <a href="#">导航1</a>
        <a href="#">导航2</a>
        <a href="#">导航3</a>
    </nav>
    <!--导航end-->
</header>
<!--头部end-->

<!--主体start-->
<main>
    <!--文章start-->
    <article></article>
    <!--文章end-->

    <!--侧边栏start-->
    <aside></aside>
    <!--侧边栏end-->

</main>
<!--主体end-->

<!--底部start-->
<footer></footer>
<!--底部end-->
</body>

H5新语义标签兼容性

虽然HTML5为我们提供了很多一些新的语义标签,但老版本的浏览器并这些内容,比如iE 8 及以下版本就不支持新语义标签

低版本IE显示问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        header{
            height: 100px;
            background-color: orangered;
        }
    </style>
</head>
<body>
    <header>
    </header>
</body>
</html>
ie_test.gif

解决方案

js代码创建标签

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        header{
            height: 100px;
            background-color: orangered;
        }   
    </style>
    <script type="text/javascript">
        // 使用代码创建header标签,创建后是行内元素
        //在低版本的ie中,如果想要显示h5的新语义标签,需要设置为block
      var headerDom = document.createElement('header');
      document.body.appendChild(headerDom);
      headerDom.style.display = 'block';
    </script>
</head>
<body>
<!--在老版本的ie中无法查看(ie8)-->
<header></header>
</body>
</html>

优化代码执行--hack写法

无论是js,或者js框架都需要执行js代码才能够解决兼容性问题,但是在高版本的浏览器中,那段js代码就没有必要执行了,所以我们通过一个叫做hack的方式来减少性能的浪费

    <!--[if lte IE 8]>
    <script>
        <p>您的浏览器版本太低了建议更新,下载更为好用的Chrome浏览器</p>
    </script>
    <![endif]-->
 <!--[if lte IE 6]>
    <script>
        alert("这段js代码执行了");
    </script>
<![endif]-->
 IE6及IE6以下的IE5.x可识别

js框架

使用js框架来解决html5新语义标签的IE浏览器兼容方法代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        header {
            height: 100px;
            background-color: #f40;
        }
    </style>
</head>
<body>
<!--使用js框架来解决html5新语义标签的兼容方法-->
<!--[if lte IE 8]>
<script src="js/html5shiv.min.js"></script>
<![endif]-->
<header></header>
</body>
</html>
上一篇下一篇

猜你喜欢

热点阅读