整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

前端开发不得不了解的HTML5标签

TML5 元素有多种维度展示方式,常见以下:

  • 1.按照类别分类
  • 2.按照是否Block元素

按照类别分:

根元素

  • - html 代表 HTML 或 XHTML 文档的根。其他所有元素必须是这个元素的子节点。
  • 文档元数据
  • head 代表关于文档元数据的一个集合,包括脚本或样式表的链接或内容。
  • title 定义文档的标题,将显示在浏览器的标题栏或标签页上。该元素只能包含文本,包含的标签不会被解释。
  • base 定义页面上相对 URL 的基准 URL。
  • link 用于链接外部的 CSS 到该文档。
  • meta 定义其他 HTML 元素无法描述的元数据。
  • style 用于内联 CSS。
  • -
  • 脚本
  • script 定义一个内联脚本或链接到外部脚本。脚本语言是 JavaScript。
  • noscript 定义当浏览器不支持脚本时显示的替代文字。
  • template 这个元素在 HTML5 中加入 通过 JavaScript 在运行时实例化内容的容器。
  • -
  • 章节
  • body 代表 HTML 文档的内容。在文档中只能有一个 元素。
  • section 这个元素在 HTML5 中加入 定义文档中的一个章节。
  • nav 这个元素在 HTML5 中加入 定义只包含导航链接的章节。
  • article 这个元素在 HTML5 中加入 定义可以独立于内容其余部分的完整独立内容块。
  • aside 这个元素在 HTML5 中加入 定义和页面内容关联度较低的内容——如果被删除,剩下的内容仍然很合理。
  • h1~ h6 标题元素实现了六层文档标题,h1 是最大的标题,h6 是最小的标题。标题元素简要地描述章节的主题。
  • header 这个元素在 HTML5 中加入 定义页面或章节的头部。它经常包含 logo、页面标题和导航性的目录
  • footer 这个元素在 HTML5 中加入 定义页面或章节的尾部。它经常包含版权信息、法律信息链接和反馈建议用的地址。
  • address 定义包含联系信息的一个章节。
  • main 这个元素在 HTML5 中加入 定义文档中主要或重要的内容。
  • -
  • 内容组织
  • p 定义一个段落。
  • hr 代表章节、文章或其他长内容中段落之间的分隔符。
  • pre 代表其内容已经预先排版过,格式应当保留 。
  • blockquote 代表引用自其他来源的内容。
  • ol 定义一个有序列表。
  • ul 定义一个无序列表。
  • li 定义列表中的一个列表项。
  • dl 定义一个定义列表(一系列术语和其定义)。
  • dt 代表一个由下一个
  • 定义的术语。
  • dd 代表出现在它之前术语的定义。
  • figure 这个元素在 HTML5 中加入 代表一个和文档有关的图例。
  • figcaption 这个元素在 HTML5 中加入 代表一个图例的说明。
  • div 代表一个通用的容器,没有特殊含义。
  • -
  • 文字展示
  • a 代表一个链接到其他资源的超链接 。
  • em 代表强调 文字。
  • strong 代表特别重要 文字。
  • small 代表注释 ,如免责声明、版权声明等,对理解文档不重要。
  • s 代表不准确或不相关 的内容。
  • cite 代表作品标题 。
  • q 代表内联的引用 。
  • dfn 代表一个术语包含在其最近祖先内容中的定义 。
  • abbr 代表省略 或缩写 ,其完整内容在 title 属性中。
  • data 这个元素在 HTML5 中加入 关联一个内容的机器可读的等价形式 (该元素只在 WHATWG 版本的 HTML 标准中,不在 W3C 版本的 HTML5 标准中)。
  • time 这个元素在 HTML5 中加入 代表日期 和时间 值;机器可读的等价形式通过 datetime 属性指定。
  • code 代表计算机代码 。
  • var 代表代码中的变量 。
  • samp 代表程序或电脑的输出 。
  • kbd 代表用户输入 ,一般从键盘输出,但也可以代表其他输入,如语音输入。
  • sub,- sup 分别代表下标 和上标 。
  • i 代表一段不同性质 的文字,如技术术语、外文短语等。
  • b 代表一段需要被关注 的文字。
  • u 代表一段需要下划线呈现的文本注释,如标记出拼写错误的文字等。
  • mark 这个元素在 HTML5 中加入 代表一段需要被高亮的引用 文字。
  • ruby 这个元素在 HTML5 中加入 代表被ruby 注释 标记的文本,如中文汉字和它的拼音。
  • rt 这个元素在 HTML5 中加入 代表ruby 注释 ,如中文拼音。
  • rp 这个元素在 HTML5 中加入 代表 ruby 注释两边的额外插入文本 ,用于在不支持 ruby 注释显示的浏览器中提供友好的注释显示。
  • bdi 这个元素在 HTML5 中加入 代表需要脱离 父元素文本方向的一段文本。它允许嵌入一段不同或未知文本方向格式的文本。
  • bdo 指定子元素的文本方向 ,显式地覆盖默认的文本方向。
  • span 代表一段没有特殊含义的文本,当其他语义元素都不适合文本时候可以使用该元素。
  • br 代表换行 。
  • wbr 这个元素在 HTML5 中加入 代表建议换行 (Word Break Opportunity) ,当文本太长需要换行时将会在此处添加换行符。
  • -
  • 文字编辑
  • ins 定义增加 到文档的内容。
  • del 定义从文档移除 的内容。
  • -
  • 图片等资源展示
  • img 代表一张图片 。
  • iframe 代表一个内联的框架 。
  • embed 这个元素在 HTML5 中加入 代表一个嵌入 的外部资源,如应用程序或交互内容。
  • object 代表一个外部资源 ,如图片、HTML 子文档、插件等。
  • param 代表 - object 元素所指定的插件的参数 。
  • video 这个元素在 HTML5 中加入 代表一段视频 及其视频文件和字幕,并提供了播放视频的用户界面。
  • audio 这个元素在 HTML5 中加入 代表一段声音 ,或音频流 。
  • source 这个元素在 HTML5 中加入 为 - video 或 - audio 这类媒体元素指定媒体源 。
  • track 这个元素在 HTML5 中加入 为 - video 或 - audio 这类媒体元素指定文本轨道(字幕) 。
  • canvas 这个元素在 HTML5 中加入 代表位图区域 ,可以通过脚本在它上面实时呈现图形,如图表、游戏绘图等。
  • map 与 - area 元素共同定义图像映射 区域。
  • area 与 - map 元素共同定义图像映射 区域。
  • svg 这个元素在 HTML5 中加入 定义一个嵌入式矢量图 。
  • math 这个元素在 HTML5 中加入 定义一段数学公式 。
  • -
  • 表格
  • table 定义多维数据 。
  • caption 代表表格的标题 。
  • colgroup 代表表格中一组单列或多列 。
  • col 代表表格中的列 。
  • tbody 代表表格中一块具体数据 (表格主体)。
  • thead 代表表格中一块列标签 (表头)。
  • tfoot 代表表格中一块列摘要 (表尾)。
  • tr 代表表格中的行 。
  • td 代表表格中的单元格 。
  • th 代表表格中的头部单元格 。
  • -
  • 表单
  • form 代表一个表单 ,由控件组成。
  • fieldset 代表控件组 。
  • legend 代表 - fieldset 控件组的标题 。
  • label 代表表单控件的标题 。
  • input 代表允许用户编辑数据的数据区 (文本框、单选框、复选框等)。
  • button 代表按钮 。
  • select 代表下拉框 。
  • datalist 这个元素在 HTML5 中加入 代表提供给其他控件的一组预定义选项 。
  • optgroup 代表一个选项分组 。
  • option 代表一个 - select 元素或 - datalist 元素中的一个选项
  • textarea 代表多行文本框 。
  • keygen 这个元素在 HTML5 中加入 代表一个密钥对生成器 控件。
  • output 这个元素在 HTML5 中加入 代表计算值 。
  • progress 这个元素在 HTML5 中加入 代表进度条 。
  • meter 这个元素在 HTML5 中加入 代表滑动条 。
  • -
  • 导航等交互元素
  • details 这个元素在 HTML5 中加入 代表一个用户可以(点击)获取额外信息或控件的小部件 。
  • summary 这个元素在 HTML5 中加入 代表 - details 元素的综述 或标题 。
  • menuitem 这个元素在 HTML5 中加入 代表一个用户可以点击的菜单项。
  • menu 这个元素在 HTML5 中加入 代表菜单。

按照是否Block元素分:

  • 1.Empty Elements
  • area 与 map 元素共同定义图像映射 区域。
  • base 定义页面上相对 URL 的基准 URL。
  • basefont 4.0种标签,目前已废弃
  • br 代表换行 。
  • col 代表表格中的列 。
  • frame 4.0种标签,目前已废弃
  • hr 代表章节、文章或其他长内容中段落之间的分隔符。
  • img 代表一张图片 。
  • input 代表允许用户编辑数据的数据区 (文本框、单选框、复选框等)。
  • isindex 4.0种标签,目前已废弃
  • link 用于链接外部的 CSS 到该文档。
  • meta 定义其他 HTML 元素无法描述的元数据。
  • param 代表 object 元素所指定的插件的参数
  • embed 代表一个嵌入 的外部资源,如应用程序或交互内容
  • -
  • 2.Block Elements
  • address 定义包含联系信息的一个章节
  • applet 4.0种标签,目前已废弃
  • blockquote 代表引用自其他来源的内容。
  • button 代表按钮
  • center 4.0种标签,目前已废弃
  • dd 代表出现在它之前术语的定义
  • del 定义从文档移除 的内容。
  • dir 4.0种标签,目前已废弃
  • div 代表一个通用的容器,没有特殊含义
  • dl 定义一个定义列表(一系列术语和其定义)
  • dt 代表一个由下一个 dd 定义的术语
  • fieldset 代表控件组
  • form 代表一个表单 ,由控件组成
  • frameset 4.0种标签,目前已废弃
  • hr 代表章节、文章或其他长内容中段落之间的分隔符
  • iframe 代表一个内联的框架
  • ins 定义增加 到文档的内容
  • isindex 4.0种标签,目前已废弃
  • li 定义列表中的一个列表项
  • map 与 area 元素共同定义图像映射 区域
  • menu 代表菜单
  • noframes
  • noscript 定义当浏览器不支持脚本时显示的替代文字
  • object 代表一个外部资源 ,如图片、HTML 子文档、插件等
  • ol 定义一个有序列表
  • p 定义一个段落
  • pre 代表其内容已经预先排版过,格式应当保留
  • script 定义一个内联脚本或链接到外部脚本。脚本语言是 JavaScript
  • table 定义多维数据
  • tbody 代表表格中一块具体数据 (表格主体)
  • td 代表表格中的单元格
  • tfoot 代表表格中一块列摘要 (表尾)
  • th 代表表格中的头部单元格
  • thead 代表表格中一块列标签 (表头)
  • tr 代表表格中的行
  • ul 定义一个无序列表
  • -
  • 3.Inline Elements
  • a 代表一个链接到其他资源的超链接
  • abbr 代表省略 或缩写 ,其完整内容在 title 属性中
  • acronym 4.0种标签,目前已废弃
  • applet 4.0种标签,目前已废弃
  • b 代表一段需要被关注 的文字
  • basefont 4.0种标签,目前已废弃
  • bdo 指定子元素的文本方向 ,显式地覆盖默认的文本方向
  • big 4.0种标签,目前已废弃
  • br 代表换行
  • button 代表按钮
  • cite 代表作品标题
  • code 代表计算机代码
  • del 定义从文档移除 的内容
  • dfn 代表一个术语包含在其最近祖先内容中的定义
  • em 代表强调 文字
  • font 4.0种标签,目前已废弃
  • i 代表一段不同性质 的文字,如技术术语、外文短语等
  • iframe 代表一个内联的框架
  • img 代表一张图片
  • input 代表允许用户编辑数据的数据区 (文本框、单选框、复选框等)
  • ins 定义增加 到文档的内容
  • kbd 4.0种标签,目前已废弃
  • label 代表表单控件的标题
  • map 与 area 元素共同定义图像映射 区域
  • object 代表一个外部资源 ,如图片、HTML 子文档、插件等
  • q 代表内联的引用
  • s 代表不准确或不相关 的内容
  • samp 代表程序或电脑的输出
  • script 定义一个内联脚本或链接到外部脚本。默认脚本语言是 JavaScript
  • select 代表下拉框
  • small 代表注释 ,如免责声明、版权声明等,对理解文档不重要
  • span 代表一段没有特殊含义的文本,当其他语义元素都不适合文本时候可以使用该元素
  • strike 4.0种标签,目前已废弃
  • strong 代表特别重要 文字
  • sub 代表下标
  • sup 代表上标
  • textarea 代表多行文本框
  • tt 4.0种标签,目前已废弃
  • u 4.0种标签,目前已废弃
  • var 代表代码中的变量
  • -

参考文献:

  • https://developer.mozilla.org/zh-CN/docs/Web/Guide/HTML/HTML5/HTML5_element_list
  • 本文作者:前端首席体验师(CheongHu)
  • 联系邮箱:simple2012hcz@126.com
  • 版权声明: 本文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

TML5开发工程师不论是薪资待遇还是工作环境都是很让人羡慕的,因此如今不论是参加HTML5培训还是自学HTML5开发技术的小伙伴都不断的在增加,本片文章扣丁学堂小编就和读者们分享一下HTML5应该如何自学,如何能更快更高效的学习HTML5开发技术。

如今HTML5在整个互联网行业掀起了一场新的大潮流,导致现在好多人都想进入HTML5开发的队伍,但是实际上大部分人却不知道该怎么学习HTML5才是最好的,更不知道HTML5技术该如何自学?接下来扣丁学堂的HTML5培训老师将从以下几点内容详细讲述为大家做一个简单的分享:

第一,很多人建议,对于零基础学员,不建议一上来就学习HTML5,HTML5其实就是对HTML4的一个升级,所以,在学习HTML5之前,你还需要详细了解HTML、CSS。在学习HTML5过程当中,你需要充分了解Java,因为无论是想做出一款比较炫的Web APP还是做一个跨平台的移动端网站,这些功能都需要Java的调用,如果你只是单纯的掌握了HTML5、CSS、Java这些技术,那么对于一个合格的HTML5开发工程师来讲是远远不够的,像一些jquery、canvas等等这些也需要学习。

第二,要多利用时间,多看书和好文章,很多工程师这样讲,时间总是可以挤出来的,把有限的时间更多利用在有意义的事情上,说句玩笑话,很多初学者在上厕所时还想着自己代码,想着Ajax原生请求怎么写?其实也没有别的其他意思,只想说的是,时间很宝贵,充分利用好时间。

第三,学英语,对于IT行业来讲,英语是非常重要的技能,特别是对于新技术人员来讲,基本只有查阅英文文献才能够找到解决方案,这部分练习也会相当有必要的。

第四、去除自己焦虑的东西,在HTML5职业生涯初期,作为小白的你,应该总会有从未接触过的技术盲点,无论是在工作当中还是面试过程当中,你都会有少许的担心,为自己知识的欠缺、胜任与否,往往会焦虑不安,所以此时就更需要你镇静。

第五、充分利用资源,生活在信息量充足的现代生活中,无论是书籍还是网络资源,都有可以参考和学习的地方,找一些适合自己学习资源,不断丰富自己。

想要学好HTML5开发技术就需要自己不断的努力,要有持之以恒的学习能力。想要学习HTML5开发技术的小伙伴可以选择口碑良好的扣丁学堂进行学习,扣丁学堂不仅有专业的老师和与时俱进的课程体系,还有大量的HTML5视频教程供学员观看学习,想要学好HTML5开发技术高薪就业的小伙伴抓紧时间行动吧。扣丁学堂H5技术交流群:559883758。

关注微信公众号获取更多学习资料

近在做大文件分块上传的功能,在开发的过程中,需要使用到HTML5中的File对象来对大文件进行切块,于是查找了相关资料后,直接写下以下代码实现了分块的功能:

HTML代码:

<input type="file" id="file" onchange="doupload(event)">

Javascript代码:

function douploader(event){
 let file=event.target.files[0];
 let chunkSize=10*1024*1024;
 let chunks=Math.ceil(file.size/chunkSize);
 for(let i=0;i<chunks;i++){
 let start=i*chunkSize;
 let len=Math.min(chunkSize,file.size-start);
 let chunk=file.slice(start,start+len); //chunk为分块后的File对象
 }
 }

大家可以发现我是直接通过 <input type="file"> 标签直接获取的File对象,然后再对File对象进行的切分,也就是说我其实是直接跳过了File对象的初始化过程,直接对File对象进行切分的操作,实际上大部分开发也确实是这么做的。

那么File对象究竟是如何初始化的呢?

查阅了相关的外文文献之后,做出以下总结:

File对象实例化的标准形式如下:

let stringArray=["hello martin","hello lucy"];
let fileName="allHello";
let typeObj={type:"application/json",lastModified:new Date()};
let myFile=new File(stringArray,fileName,typeObj);
console.log(myFile);

结果图如下:

分析:从以上代码可以看出,File构造函数接受三个参数

  • 第一个参数为一个字符串数据,数组中的每一个元素对应着文件中的每一行内容
  • 第二个参数为一个字符串,表示文件名
  • 第三个参数为一个对象,这个对象包含数据类型type和最后修改时间lastModified两个属性,type默认为空,lastModified默认为当前时间,也就是new Date()的时间。

最后附上一张各个浏览器对File对象这个API的兼容性图表:

总结

虽然我们工作中可能只需要通过input标签直接获取初始化过的File对象,然后对其进行操作,但是懂得File对象是如何进行初始化的能帮助我们更好的理解和运用File对象。

“知其所然且知其所以然”这是作为高级软件工程师的必备素养,否则可能真的就成为大众所说的“码农”了。

关注我,一起学习前端,共同从小白走向高级工程师。