HTML语义化(基础) | 青训营

140 阅读2分钟
HTML语义化是指根据HTML元素的语义用途合理地使用HTML标签来组织页面内容,通过使用具有明确语义含义的标签,帮助开发者更好地组织页面结构,提高代码的可读性和可维护性,同时也有助于搜索引擎更好地理解页面内容,提高搜索结果的准确性和相关性。

 语义化的好处:

1、语义化标签并不是为了用户去阅读的,而是为了机器更好地阅读理解代码提高运行速度,HTML语义化标签的作用对象是机器也就是搜索引擎。

2、而当我们使用HTML语义化标签的时候,大大提高了我们代码的可读性,协同开发的时候,开发人员可以清晰地看懂结构,提高了团队之间的合作效率。

3、搜索引擎的爬虫根据语义化标签的关键字确定上下文权重,使用语义化标签,加大权重,使页面在搜索引擎上排名更加靠前。

    HTML5提倡语义化标签。非语义化标签有:div和span。

HTML5常用的语义化标签:

<header>代表网页的头部,可以使用到“网页”或任意“section”的头部部分,没有个数限制,如果h1-h6自己就能工作的很好,那就不要用header。

<nav> 代表网页的导航,用在整个页面主要导航部分上,不合适就不要用nav元素。

<aside> 代表网页的侧边栏,asidearticle内表示主要内容的附属信息,在article之外则可做侧边栏,没有article与之对应,最好不用;如果是广告,其他日志链接或者其他分类导航也可以用。

<section> 代表网页的区块,一张页面可以用section划分为简介、文章条目和联系信息。不过在文章内页,最好用articlesection不是一般意义上的容器元素,如果想作为样式展示和脚本的便利,可以用div;表示文档中的节或者段,articlenavaside可以理解为特殊的section,所以如果可以用articlenavaside就不要用section,没实际意义的就用div

非语义化案例:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>

<body>

    <!-- 网页头部 -->

    <div class="header"></div>

    <!-- 网页导航 -->

    <div class="nav"></div>

    <!-- 网页侧边栏 -->

    <div class="aside"></div>

    <!-- 网页区块 -->

    <div class="section"></div>

</body>

</html>

全部用div标签完成,对搜索引擎而言没有任何语义。

语义化案例:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        *{

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }

        header,nav,main,aside,section,article,footer{

            display: block;

        }

        header{

            width: 1000px;

            height: 100px;

            margin: 5px auto;

            background-color: #ee912e;
        }

        nav{

            width: 1000px;

            height: 80px;

            margin: 5px auto;

            background-color: #ee6078;

        }

        main{

            width: 1000px;

            height: 400px;

            margin: 5px auto;

            background-color: #16e8cf;

            overflow: hidden;

        }

        main aside:first-child{

            float: left;

            width: 400px;

            height: 400px;

            margin-right: 5px;

            background-color: rgb(4, 125, 68);

        }

        main section{

            float: left;

            width: 590px;

            height: 400px;

            margin-right: 5px;

            background-color: rgb(202, 244, 14);

            overflow: hidden;

        }

    </style>

</head>

<body>

    <header>网页头部</header>

    <nav>网页导航</nav>

    <main>

        <aside>网页侧边栏</aside>

        <section>网页区块</section>

    </main>

</body>

</html>

1.png

使用了header、nav、aside等语义化标签,使代码更加简单易懂,可读性大大提高。

注意事项:
1、尽量减少使用div和span标签的使用频率。

2、p标签默认具有上下margin。

3、不要使用纯样式标签,而是使用CSS。