H5语义化标签

前端项目还在大片使用div+css来构建页面的时候,可读性极低,也导致维护成本很高,所以有了语义化标签。

下面从例子中总结语义化标签的意义。

比较标签:<b>VS<strong>    <i>VS<em>
首先两组标签在页面中的呈现都是相同的效果,第一组显示出来都是文本加粗,第二组则都是显示为斜体,那到底有什么不同呢?
<b>与<i>这两个标签可以被称为物理标签,即浏览器对标签中的内容物理上添加:加粗或者倾斜的样式,并没有任何的意思,只是让内容bold或者italic。
<strong>与<em>这两个标签可以称之为逻辑标签,即浏览器读到这个标签时了解到强调的意思,强调标签中的内容需要加粗来强调,或者斜体来强调其中的内容。它们是强调文档逻辑,而不仅仅只是告诉浏览器应该怎么做。

语义化标签的意义:

 

  1. 利于网站的SEO;各大网站在抓取网页时,语义化标签更清楚的表达网站的逻辑与内容,搜索引擎更加友好,更利于解析上下文环境,抓取各个关键字的权重
  2. 方便其他设备的解析,比如屏幕阅读器、盲人阅读器、移动设备,能有意义的渲染网页,清晰的表达网页的上下文内容以及强调部分等
  3. 布局的语义化标签,会使得项目在没有css的情况下,页面也能呈现出更好的结构
  4. 代码的可读性与可维护性更强;比较以往的div布局来说,越来越多的语义化标签使得代码更加就见名之意的,带给开发者更好的体验。

HTML 5 中的语义化标签:

1. <header> 网页或section的头部
    <asider> 网页的侧边栏内容
    <nav> 定义页面的主要导航部分
    <article> 独立完整的内容模块,通常用在博客、论坛、新闻、评论等,区别于section这种分段的标签
    <section> 网页文档中的段、节,通常子元素包括标题:h1-h6
    <footer> 网页或section底部的内容,可能包括:作者或者版权信息等;

    借用一张图:

2. <details> 

标签用于描述文档或文档某个部分的细节,summary是details元素的标题

<details>
    <summary>这是一个标题</summary>
    <p>详细描述...</p>
</details>

3. <canvas>

 用来进行canvas绘图,该标签为图形容器,通过js找到标签的操作对象来画图

<canvas id="canvas" style="width:300px;height:300px"></canvas>
<script>
    var canvas=document.getElementById('canvas');
    var ctx=canvas.getContext('2d');
    ctx.fillStyle='#ddd';
    ctx.fillReact(x,y,width,height)
</script>

 

4. 嵌入<svg>

 

使用XML技术绘制可缩放矢量图形的语言,可使用扩展名.svg的xml定义,也可以内嵌在html中

//html中内嵌标签  绘制圆形
<svg style="width:300px;height:300px">
    <circle cx="50" cy="50" r="50"></circle>
</svg>

5. <video></video>

定义电影片段或者其他视频流,支持三种类型的视频: Ogg、MPEG4、WebM

<video src='**.mp4' controls>
    您的浏览器暂不支持video标签,请更新浏览器版本。
</video>

6.<audio></audio>

定义音频,可以支持多个source(媒介标签,这里没有写错,这个标签可以省略/),浏览器默认将第一个能识别的格式进行播放(所以,使用source实际是解决个大厂的兼容性问题)

<audio>
    <source src='***.ogg' type='audio/ogg'>
    <source src='***.mp3' type='audio/mp3'>
    您的浏览器暂不支持audio标签,请更新浏览器版本。
</audio>

7.<datalist>

与input配合使用可制作输入值的下拉列表,与select不同的是datalist即可下拉选择,也可以输入值,还有模糊匹配的功能。

<input list="users"/>
<datalist id='users'>
    <option>Jamse</option>
    <option>Jack</option>
    <option>Mary</option>
</datalist>

8.<mark>

在视觉上向那些想要突出的文字,比如搜索结果中向用户高亮显示搜索关键词

9.<meter>

数据区间中绘制一个值的占比与状态,注意区别与进度条progress标签,meter最典型的应用场景有磁盘使用量等。
meter的属性:min max low high optimum(最优值) value
渲染规则是:

  • optimum在min-low区间中,value值如果在min-low显示为绿色,low-high显示为黄色,high以上显示为红色
  • optimum在low-high段,value值如果在min-low显示为黄色,low-high显示为绿色,high以上显示为黄色
  • optimum大于或等于high,value值如果在min-low显示为红色,low-high显示为黄色,high以上显示为绿色

所以,最佳值optimum与value在同一个区间段渲染为绿色,不同区间段向optimum左右两边分别渲染:黄、红色,这里的区间段是指经过low,high属性指定后的四个段。

// min默认是0
<meter max='3000' high='2000' low='1000' optimum="2001" value='999'>
    您的浏览器不支持meter标签,请升级。
</meter>

10.<progress>

进度条,运行中、加载中的进度。

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

11.<time></time>

定义日期或者时间

<time datatime='2018-01-01'>今天元旦</time>

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
H5语义标签是HTML5标准中引入的一种标记方式,主要用于表达网页内容的结构与含义,可以提高网页的可读性和可维护性,以及增强搜索引擎的理解能力。 在实际开发中,使用H5语义标签的频率较高。随着HTML5标准的普及和浏览器对新标签的兼容性提升,开发人员更加倾向于使用语义标签。它们可以将页面分为多个有意义的块,如<header>,<nav>,<main>,<article>,<footer>等,使得页面结构更加清晰易懂。 使用H5语义标签的好处之一是改善网页的可访问性。对于一些辅助技术,如屏幕阅读器,语义标签可以提供更好的理解和导航体验。这对于视力受限的用户或身体功能障碍者来说尤为重要。 另一个原因是搜索引擎优(SEO)。搜索引擎通过分析网页的结构和内容来确定其排名。语义标签可以更准确地描述页面的结构和内容,提供更多的关键信息,从而增加搜索引擎索引的准确度和可靠性。 虽然H5语义标签有诸多优点,但在实际开发中,仍然有些开发人员为了追求页面效果或兼容性,而未充分使用语义标签。这样可能会导致页面结构混乱、可读性差,增加后期维护的难度。 总的来说,随着对H5语义标签的认识不断加深和浏览器的支持,开发人员普遍倾向于更多地使用这些语义标签以提升网页的质量和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值