不要一直用div啦!语义化标签了解下?

9530次阅读 204人点赞 作者: WuBin 发布时间: 2021-11-11 10:05:50
扫码到手机查看

为什么不要盲目使用div

对于更多html5标签的使用,推荐大家参考我的HTML5速查表-点击前往

今天要说的语义化标签在开发中有最直观的作用。它更加直观的表现出了网页结构。可能在一个人开发的时候害体现不太出来,但是当多人合作或者回看自己写的页面时,就很容易体现出这一特点。

除此之外,语义化标签的作用一共大体有这几大点:

  • 优化了代码结构,在不看css的情况下,也能够呈现出很好的内容结构
  • 爬虫依赖标签来确定关键字的权重,更多的语义化标签,帮助爬虫抓取更多的有效信息,也增加了页面权重
  • 增加了无障碍阅读的体验,让每一部分都附有其意义

常见的语义化标签

<header>网页的页眉部分

<header>这是一个页面</header>

<main>网页的主要部分

<main>
    页面内容
</main>

<footer>网页的页脚部分

<footer>页眉,这个页面是xxx写的</footer>

<aside>可用于侧边栏的广告,链接或者与附近内容相关的内容

<aside>
    <h2>I社新作现已发售!</h2>
    <p>
        拉娜的奇妙洞窟冒险,内容来源:I社游戏-https://isheweiyi.com (滑稽)
    </p>
</aside>

<nav>标签定义导航链接的部分。

<nav>
    <a>Home</a>
    <a>Other</a>
    <a>About</a>
</nav>

<article>定义页面独立的内容,其中可以嵌套<header>,<footer>,<sections>

<article>
    <header>小页面标题</header>
    <main>内容</main>
</article>

<section>网页文档部分,长表单或者文章

<section>
    <p>xxxx</p>
</section>

<figure>用于文档中的图像

<figure>
  <p>黄浦江上的的卢浦大桥</p>
  <img src="shanghai_lupu_bridge.jpg" width="350" height="234" />
</figure>

这些语义化标签,都可以在使用过程中代替<div>来更加有意义的描述一个网页结构

特殊标签

除了上述的语义化标签,这些特殊标签也可以一定程度的代替一味的<div>的使用。他们往往有独特的作用,可以给网页带来某些效果。

<b></b>将字体变粗

If you can understand these words, you <b>understand</b> them

<big></big>将字体变大一号(但是不会变粗)

If you can understand these words, you <big>understand</big> them

<wbr>确定一个长字符串的切换行的位置:

<!--当页面宽度变化时会在wbr标签处换行-->
<p>abcde<wbr>fghigkl<wbr>mnpqrs<wbr>tuvwxyz</p>

<code>和<pre>code标签的一个功能是暗示浏览器code标签所包围的文本是计算机源代码,浏览器可以做出自己的 样式处理,pre标签则没有这项功能,但是pre标签可以保留文本中的空格和换行符,保留文本中的空格换行符是计算机源代码显示 所必须的样式。 一般codepre的嵌套使用为<pre><code>hrllo world</code></pre>

<!--尝试空格带来的影响(发现只有pre会保留空格)-->
    &lt;script type=&quot;text/javascript&quot; src=&quot;loadxmldoc.js&quot;&gt;
    <br>
    <code>    &lt;script type=&quot;text/javascript&quot; src=&quot;loadxmldoc.js&quot;&gt;</code>
    <pre>    &lt;script type=&quot;text/javascript&quot; src=&quot;loadxmldoc.js&quot;&gt;</pre>

<meta>提供有关页面的元信息(meta-information)

<!--以上代码告诉IE浏览器,IE8/9及以后的版本都会以最高版本IE来渲染页面。 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--页面宽等于屏宽,缩放比等于1.0,防止出现横向滚动条-->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!--定义网页编码为gb2312-->
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="HTML,ASP,PHP,SQL">

<picture>设计多个图像来更好地填充浏览器视口

<!--在650px及以上,采用iamge1.jpg,650px-465px,采用image2.jpg...-->
<picture>
  <source media="(min-width:650px)" srcset="/image1.jpg">
  <source media="(min-width:465px)" srcset="/image2.jpg">
  <img src="/image3.jpg" alt="Flowers" style="width:auto;">
</picture>

<progress>显示程序的下载进度

<progress value="45" max="100"></progress>

<strong>强调内容

<p>To compare with other all you life is the <strong>source</strong> of life tragedy</p>

<em>同样是标记重点,通常为斜体文字

<p>To compare with other all you life is the <em>source</em> of life tragedy</p>

这些特殊的标签,除了可以更加清晰的表述网页结构外,更有一些特殊的作用可以更加方便的表述网页。

如果你一下子记不住这些标签,可以收藏一下。每次需要优化页面结构的时候翻阅一下,说不定能帮上你哦~

点赞 支持一下 觉得不错?客官您就稍微鼓励一下吧!
关键词:语义化,标签
推荐阅读
  • uniapp实现被浏览器唤起的功能

    当用户打开h5链接时候,点击打开app若用户在已经安装过app的情况下直接打开app,若未安装过跳到应用市场下载安装这个功能在实现上主要分为两种场景,从普通浏览器唤醒以及从微信唤醒。

    9664次阅读 631人点赞 发布时间: 2022-12-14 16:34:53 立即查看
  • Vue

    盘点Vue2和Vue3的10种组件通信方式

    Vue中组件通信方式有很多,其中Vue2和Vue3实现起来也会有很多差异;本文将通过选项式API组合式API以及setup三种不同实现方式全面介绍Vue2和Vue3的组件通信方式。

    4342次阅读 322人点赞 发布时间: 2022-08-19 09:40:16 立即查看
  • JS

    几个高级前端常用的API

    推荐4个前端开发中常用的高端API,分别是MutationObserver、IntersectionObserver、getComputedstyle、getBoundingClientRect、requ...

    14542次阅读 951人点赞 发布时间: 2021-11-11 09:39:54 立即查看
  • PHP

    【正则】一些常用的正则表达式总结

    在日常开发中,正则表达式是非常有用的,正则表达式在每个语言中都是可以使用的,他就跟JSON一样,是通用的。了解一些常用的正则表达式,能大大提高你的工作效率。

    13594次阅读 496人点赞 发布时间: 2021-10-09 15:58:58 立即查看
  • 【中文】免费可商用字体下载与考证

    65款免费、可商用、无任何限制中文字体打包下载,这些字体都是经过长期验证,经得住市场考验的,让您规避被无良厂商起诉的风险。

    12136次阅读 971人点赞 发布时间: 2021-07-05 15:28:45 立即查看
  • Vue

    Vue3开发一个v-loading的自定义指令

    在vue3中实现一个自定义的指令,有助于我们简化开发,简化复用,通过一个指令的调用即可实现一些可高度复用的交互。

    16475次阅读 1315人点赞 发布时间: 2021-07-02 15:58:35 立即查看
  • JS

    关于手机上滚动穿透问题的解决

    当页面出现浮层的时候,滑动浮层的内容,正常情况下预期应该是浮层下边的内容不会滚动;然而事实并非如此。在PC上使用css即可解决,但是在手机端,情况就变的比较复杂,就需要禁止触摸事件才可以。

    15243次阅读 1240人点赞 发布时间: 2021-05-31 09:25:50 立即查看
  • Vue

    Vue+html2canvas截图空白的问题

    在使用vue做信网单页专题时,有海报生成的功能,这里推荐2个插件:一个是html2canvas,构造好DOM然后转canvas进行截图;另外使用vue-canvas-poster(这个截止到2021年3月...

    30010次阅读 2359人点赞 发布时间: 2021-03-02 09:04:51 立即查看
  • Vue

    vue-router4过度动画无效解决方案

    在初次使用vue3+vue-router4时候,先后遇到了过度动画transition进入和退出分别无效的情况,搜遍百度没没找到合适解决方法,包括vue-route4有一些API都进行了变化,以前的一些操...

    26052次阅读 2003人点赞 发布时间: 2021-02-23 13:37:20 立即查看
交流 收藏 目录