html5是否支持span,还在用div的span打天下吗:你应该了解的HTML标签

说起HTML,很多人觉得它非常简单,确实,从本质上来说,它都算不上一种语言,只是一种描述型的标签。所以,在写业务的时候,大多数人都是全屏的div和span,完全满足要求,完美实现效果。但HTML仍然提供了很多其它标签,那些都没有用吗?

嗯...

当然不是。

合理使用语义话的标签可以增强代码的可读性,在没有进行class命名标识的情况下也可以清晰的看懂页面结构。

同时也十分利于机器识别。更加适合搜索引擎检索。对于有seo需求的站点来说,合适使用html标签尤为重要。

但,很多同学在项目中仍然很少使用,主要是因为HTML的标签实在太多了,很多标签语义近似,容易用错,反而造成负面的影响。

之前winter的《重学前端》专栏里也单独写了一节来聊div、span以及其它标签。他认为:”用对“比”不用“好,”不用“比”用错“好,但有理想的前端工程师还是应该去追求”用对“它们。

所以,作为有理想的前端程序员,今天我们来介绍一些你也许还不知道,但真的应该在项目中用而且用对的HTML标签。

audio

audio用于在文档中表示用品内容,比如音乐。可以包含多个音频资源,使用src或者source属性进行描述,浏览器会选择最合适的来用。当前它只支持三种音频格式:MP3, WAV, and OGG。

Your browser does not support the audio tag.

复制代码

Video

Video用来处理电影或者视频流。这个可能是大家最熟悉的标签之一了。它现在支持的视频格式包括: MP4, WebM, and Ogg。

你的浏览器不支持video属性

复制代码

Blockquote

Blockquote表示这段内容是从哪别的地方引用过来的。通常渲染是这部分内容会有一定的缩紧。可以是用cite属性标注引用来源的url。

很多人觉得它非常简单,确实,从本质上来说,它都算不上一中语言,只是一种描述型的标签。所以,在写业务的时候,大多数人都是全屏的div和span,完全满足要求,实现效果完美。但html仍然提供了很多其它标签,那些都有什么用呢?

复制代码

Output

Output标签表示一个计算或者用户操作结果。

for:其它影响计算结果的id,可以有多个,用空格分开

form:与当前标签有关联的form(从属的biaodan)。该id必须时当前文档内的表单元素。如为指明,那么output标签必须包含在一个form表单之内。

name:name属性

0

100

+

=

复制代码

a74860c7be2ccc201af88ab6e59e4e6a.png

Picture

Picture通过包含0个或者多个元素和一个标签来为显示场景提供不同像素的图像。浏览器会选择最匹配的元素,如果没有匹配上的就会选择

6844904052682129415标签的src属性指定的url。

useragent会检查每个的srcset、media和type属性来匹配符合当前布局、设备显示特征的图片。

它包括几个属性:

srcset这是必填的属性,是指引用图片的url

media允许你提供一个用于媒体查询的条件

sizes定义图片的宽度值,或者一些媒体查询的值

type定义MIME类型

前端记事本

复制代码

Progress

Progress进度条的形式,表示任务的进度。

progress并不是meter的替代品,因此,表示磁盘空间使用情况或者查询结果相关性的组件应该使用meter属性。

复制代码

b08f9daa13d101f73b3e12fce5804f5b.png

Meter

meter标签表示在一个定义好的范围内的度量值。你也可以理解为“度量尺”。

可以用来表示内存空间的使用情况,或者搜索结果的关联性。

但它不应该用来表示某项任务的进度,这种情况下应该使用progress。

复制代码

4ca216f6c7b49d5f42094f1798c45363.png

Template

Template用来包含一些在页面加载时不会呈现的内容,但随后可以在运行时使用javascript进行实例化。

可以用来存储一段后续要用到的内容片段,减少了在JavaScript实例化节点时创建模版内容的过程。

前端记事本

前端记事本前端记事本前端记事本前端记事本前端记事本前端记事本前端记事本

复制代码

在javascript中可以使用这部分模版来实例化节点

function createNewNode(){

const node = document.querySelector('template');

const template = node.content.cloneNode(true);

document.body.appendChild(template);

}

复制代码

Time

time用来标签定义日期或者时间。这个元素的目的是以机器可读的格式表示时间和力气。所以,当用户在日历中定义提醒时间或者日程表时,就可以用它来编码机器可以识别的时间格式。另外,使用这种标签还可以使搜索引擎有更加智能的搜索结果。

前端记事本更新时间7:00

我希望公众号的文章在每天早上

6:30

自动发布

复制代码

wbr

wbr表示文本中的一个位置浏览器可以选择在这个位置折行。和
不同,
表示必须折行。而wbr的意思是在宽度足够的情况下不换行,当宽度不足的时候,在wbr处主动换行。

所以,如果你有一段很长的文本,其中有一个英文单词,你不希望在文本自适应宽度时,单词因为折行被分割成两个部分,那么可以使用wbr标签保证这个单词不会被折行。

注意:这个这种特性在UTF-8编码的页面中,也就是中文文本不会有效果。

在文本中使用这个属性,可以在页面宽度变小时,在这个英文单词front处折行,保证单词不会被分割

复制代码

f4257c730a0f54d2fe1d8b390dcbdf07.png

在宽度足够的时候,文本是完全展开的。bfd1e7f00881b330de15660a5c101136.png

当宽度变小,可以看到图中还有空间,但front已经到了第二行,保证了front不会被分割。

details

details可以创建一个挂件,仅在被切换成展开状态时才会显示内容信息。可以在其中嵌入标签,为该部件提供概要。

概要

details可以创建一个挂件,仅在被切换成展开状态时才会显示内容信息。可以在其中嵌入``标签,为该部件提供概要。

复制代码

8b5c1232a230f3bdbb0542ab2ffe8dc7.png

bc234fc333c24160838f510db1846406.png

ok,今天就介绍这些,希望大家可以在看到这些标签的强大之处,并在项目中尝试使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值