1.防止网络钓鱼攻击

使用target=_’blank’时, 新打开的标签可以更改window.opener.location到一些钓鱼网站,它会在开放页面上代表你执行一些Javascript代码。为了解决这个问题,HTML5.1通过隔离浏览器上下文的方式标准化了的rel=”noopener”属性方法。rel=”noopener”可以在和标签中使用。

<a href="#" target="_blank" rel="noopener">
链接不会出现问题
</a>

2.灵活处理图片标题

figcaption标签表示与figure元素关联的标题或图例,通常作为例如图片、图表、插图等视觉元素的容器。HTML5.1解除以前figcaption对figure的限制,现在可以在figure容器中的任何位置中使用figcaption。

<artical>
<h1>第一个标题</h1>
<figure>
<img src="" alt=""/>
<figcaption>这是一段文字</figcaption>
</figure>
<p>倒数段落</p>
</artical>

3.拼写检查

spellcheck是一个取值可以为空字符串、true和false的枚举属性。如果指定其状态为true,就表示元素将会被接受对其的拼写和语法检查。

element.forceSpellCheck()将强制用户代理在文本元素上报告检查出来的拼写和语法错误,即使用户从来没将输入聚焦在该元素上。

<p spellcheck="true">
<label>Name:
<input spellcheck="false" id="textbox"/>
</label>
</p>

4.空选项

新版的HTML5.1允许你创建一个空的元素。它可以是、或者元素的子元素。其对在设计对用户友好的表单方面有益。

5.支持Frame的全屏

为Frame开发的布尔变量allowfullscreen属性允许您通过使用requestFullscreen()方法控制内容是否可以全屏显示。例如,我们使用嵌入YouTube的播放器的iframe做示例。需要 设置allowfullscreen属性才能让播放器全屏显示视频。

<article>
<header>
<p><img src="" alt=""/><b>BBBBBBBB</b></p>
<p><a href=""></a>12:12 <a href="">2222</a></p>
</header>
<main>
<p>check video</p>
<iframe title="video" src="" allowfullscreen></iframe>
</main>
</article>

6.嵌入header和footer

HTML5.1允许你在另一个header嵌入header和footer。你可以向头部元素添加一个header或footer,假如它们在段落内容里包含它们自己。假如你想添加详细阐述诸如section和article标签到语义段落元素,这个特性将变得十分有用。

<article>
<header>
<h2>H2</h2>
<aside>
<header>
<h3>H3</h3>
<p><a href="">html</a></p>
</header>
<p>Ppppppp</p>
</aside>
</header>
<p><ins>这是一些内容</ins></p>
</article>

7.图片零宽度

HTML5.1新版本允许你添加零宽度的图片。当图片不需要向用户展示时,可以使用此特性。假如一个img元素还有其他用途而不仅仅是展示一个图片,例如,作为一个服务的一部分用来计算页面视图个数,在width和height属性中使用0数值。对于0宽度的图片,推荐使用空属性。

<img src="" width="0" height="0" alt=""/>

8.校验表单

新的reportValidity()方法允许你检验一个表单和重置结果,并且在浏览器适合位置向用户报告错误。用户代理可以报告一个以上的限制规则,假如单一元素同时遇到多个问题。对于这种情况,“密码”输入为必填内容但没有填,将会标识为错误。

<h2>Form</h2>
<p>Enter</p>
<form>
<label>
must: <input type="password" name="password" required/>
</label>
<button type="submit">Submit</button>
</form>
<script>
document.querySelector('form').reportValidity()
</script>

9.浏览器的上下文菜单

HTML5.1中,可以使用menu>标记来定义菜单,里面包含了一个或者多个元素,然后利用contextmenu属性将其绑定到任何元素上。

元素的id取值应该与我们想要 为其添加上下文菜单的元素的contextmenu属性取值保持一致。

每一个都可以有如下三个表单项中的一个:
  • radio -从一个分组中获取选项
  • checkbox -选择或者取消选择一个选项
  • command -在点击时执行一个动作
<h2 contextmenu="popup-menu">
Right click to get the context menu demo.
</h2>
<menu type="context" id="popup-menu">
<menuitem type="checkbox" checked="true">Checkbox 1</menuitem>
<menuitem type="command" label="Command" onclick="alert('WARNING')">Checkbox 2</menuitem>
<menuitem type="radio" name="group1">Radio button a</menuitem>
<menuitem type="radio" name="group1" checked="true">Radio button b</menuitem>
<menuitem type="checkbox" disabled>Disabled menu item</menuitem>
</menu>

10.在脚本和样式上使用加密随机数

加密随机数是一个随机生成的数字,只能被使用一次,而且针对每一次页面请求,它都得被生成出来。这个nonce属性可以被使用在

<script nonce="d3ne7uWP43Bhr0e">
The Javascript Code.
</script>

11.反序链接关系

W3C决定在和元素里重新包含rev属性。rev属性标识当前和反向的链接文档的关系。它已经包含来支持广泛使用数据结构标记格式,RDFa。

    <link href="Lesson2.html" rel="next" rev="prev"/>

    <link href="Lesson1.html" rel="prev" rev="next"/>
<link href="Lesson3.html" rel="next" rev="prev"/>

12.显示/隐藏信息

新的和元素允许您向一段内容添加扩展信息。可以通过单击元素来显示或隐藏一个附加信息块。默认情况下是隐藏附加信息的。

在代码中,应该将标记在标记内。如下所示。标签之后,可以添加要隐藏的其他内容。

<section>
<h3>Erroe Message</h3>
<details>
<summary>This file hasn't been download due to network error.</summary>
<dl>
<dt>File name:</dt><dd>Passcode.text</dd>
<dt>File size:</dt><dd>8 KB</dd>
<dt>Erroe code:</dt><dd>342a</dd>
</dl>
</details>
</section>

13.更多的输入类型

HTMl输入项元素扩充了三个输入类型 -week,month以及datatime-local。

正如其名所称表明的,头两个元素可以让用户选择一个星期值和一个月份值。根据浏览器的支持情况不同,它们都会被渲染成一个下拉显示的日历,让你可以选择一年中一个特定的星期或者月份。

datatime-local表示的是一个日期和时间的输入域,不过没有时区设置。其数据可以采用跟month或者week输入项类似的方法来选定,而时间可以单独输入。

<section>
<h2>
Week,Month and Datatime-local
</h2> <form action="action_page.php">
Choose a week;
<input type="week" name="year_week"/>
<input type="submit"/>
</form>
<form action="action_page.php">
Birthday(month and year):
<input type="month" name="bdaymonth"/>
<input type="submit"/>
</form>
<form action="acction_page.php">
Joining(data and time):
<input type="datetime-local" name="bdaytime"/>
<input type="submit" value="Send"/>
</form>
</section>

14.响应式图像

W3C引入了一些功能特性,无需使用CSS就可以实现响应式图像。

srcset图像属性

srcset属性让你可以指定一个多个可选的图像来源,对应于不同的像素分辨率。它将允许浏览器根据用户设备的不同选择合适质量的实现来进行显示。例如,对于使用网络比较慢的移动设备的用户,显示一张低分辨率的图片会比较好。

可以使用srcset属性并且带上它自有的x修饰符来描述每一个图片的像素比例,如果用户的像素比例等于3,就会显示high-res这张图片。

<img src="low-res.jpg" srcset="
clicks/low-res.jpg 1x,
clicks/medium-res.jpg 2x,
clicks/high-res.jpg 3x"
>

除了像素比例之外,可以选择使用w修饰符来指定不同尺寸大小的图片。在如下示例中,hight-res图片被定义成在宽度为1600px时显示。

<img src="low-res.jpg" srcset="
clicks/low-res.jpg 500w,
clicks/medium-res.jpg 1000w,
clicks/high-res.jpg 1600w"
>

sizes图像属性

可以针对分配给图像显示的空间大小来对宽度做出调整,然后 使用srcset属性来挑选合适的图片来显示。

<img src="" sizes="(max-width:25em) 60vw,100vw"
srcset="low-res.jpg 500w,
medium-res.jpg 1000w,
high-res.jpg 1600w"
/>

在这里,sizes属性定义了在视窗大于25em时图像宽度为视窗宽度的100%,或者在小于等于25em时为视图宽度的60%。

picture元素

picture元素让你可以针对不同的屏幕尺寸声明图片。这个可以通过用元素封装,并且描述多个子元素来实现。

标记单独使用 并不会显示任何东西。你已经假定会声明默认的图像来源作为src属性的取值,而可选的图像来源则会放在srcset属性之中。

<picture>
<source media="(max-width:25em)" srcset="
clicks/small/low-res.jpg 1x,
clicks/small/medium-res.jpg 2x,
clicks/small/high-res.jpg 3x"/>
<source media="(max-width:60em)" srcset="
clicks/large/low-res.jpg 1x,
clicks/large/medium-res.jpg 2x,
clicks/large/high-res.jpg 3x"/>
<img src="clicks/medium-res.jpg"/>
</picture>

学习整理自:

原文地址:http://www.rankred.com/whats-new-in-html-5-1-added-features/

—《What’s New In HTML 5.1 — 14 Added Features and How To Use Them》

HTML5.1 新增的14项特性学习的更多相关文章

  1. web前端学习(二)html学习笔记部分(1) -- html5新增的元素及特性等等

    检查,在浏览器中可以调整设备类型 html5实现水池效果. lang:en为英文语言,中文语言zh <html lang="en"> <head> < ...

  2. 前端笔记之HTML5&CSS3(上)新特性&音频视频&本地存储&自定义属性

    一.HTML5简介 HTML 5 的第一份正式草案已于2008年1月22日公布.HTML5 仍处于完善之中.然而,大部分现代浏览器已经具备了某些 HTML5 支持. 2014年10月29日,万维网联盟 ...

  3. Android开发project师,前行路上的14项技能

    导读: 你是否曾渴望回到宋朝? 或者什么朝,反正就是男耕女织的古代. 哦,那时的首都在汴梁(开封),房价想必没有如今这么高,工作?无非就是给你把锄头,去,种地去.夕阳西下了,麦子垛后,你和翠姑搂抱在一 ...

  4. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

  5. html5中新增的form表单属性

    html5中新增两个表单属性,分别autocomplete和novalidate属性 1.autocomplete属性 该属性用于控制自动完成功能的开启和关闭.可以设置表单或者input元素,有两个属 ...

  6. HTML5 INPUT新增属性

    HTML5的input标签新增了很多属性,也是让大家非常兴奋的一件事,用简单的一个属性搞定以前复杂的JS验证.input新增的这些属性,使得html和js的分工更明确了,使用起来十分舒畅.我们先看下i ...

  7. HTML5初学者福利!11个在线学习网站推荐

    HTML5初学者福利!11个在线学习网站推荐 HTML5的强大及流行趋势,让更多的人想要系统的对它进行学习.而大多数人获取HTML5知识的重要途径都是网络,不过面对五花八门的搜索结果,是不是觉得摸不着 ...

  8. html5标签video(播放器)学习笔记(二)-基本操作

    html5标签video(播放器)学习笔记(二)-基本操作 subying 发布时间: 2014/12/01 23:59 阅读: 13008 收藏: 21 点赞: 3 评论: 0 摘要 本文介绍了ht ...

  9. HTML5 DOM 新增数据类型

    HTML5 DOM 新增数据类型 前言 相对于HTML4当中的DOM,在HTML5中的DOM,新增了很多复杂数据类型,为实际的应用提供了便捷的操作. 在HTML5 DOM中,新增了如下的内容: HTM ...

随机推荐

  1. .NET 云原生架构师训练营(模块二 基础巩固 MongoDB 介绍和基础)--学习笔记

    2.5.1 MongoDB -- 介绍 mysql vs mongo 快速开始 mysql vs mongo 对比 mysql mongo 数据存储 table 二维表结构,需要预先定义结构 json ...

  2. hadoop3.2+Centos7+5个节点主从模式配置

    准备工作: hadoop3.2.0+jdk1.8+centos7+zookeeper3.4.5 以上是我搭建集群使用的基础包 一.环境准备 master1 master2 slave1 slave2 ...

  3. Hadoop之WordCount

    求平均数是MapReduce比较常见的算法,求平均数的算法也比较简单,一种思路是Map端读取数据,在数据输入到Reduce之前先经过shuffle,将map函数输出的key值相同的所有的value值形 ...

  4. Choreographer全解析

    前言 今天继续屏幕刷新机制的知识讲解,上文说到vsync的处理,每一帧UI的绘制前期处理都在Choreographer中实现,那么今天就来看看这个神奇的舞蹈编舞师是怎么将UI变化反应到屏幕上的. 代码 ...

  5. spark优化项

    一.Shuffle优化项 1.Shuffle优化配置 - spark.shuffle.file.buffer 默认值:32k 参数说明:该参数用于设置shuffle write task的Buffer ...

  6. Laya 断点调试

    Laya 打断点调试并查看堆栈的方法 发现直接加断点不行没办法调试,直接使用这中方法好像可以,选择F5调试 var camera =this.GameScene.getChildByName(&quo ...

  7. 最全的HashMap源码解析!

    HashMap源码解析 HashMap采用键值对形式的存储结构,每个key对应唯一的value,查询和修改的速度很快,能到到O(1)的平均复杂度.他是非线程安全的,且不能保证元素的存储顺序. 他的关系 ...

  8. Ansible-playbook 安装redis

    Ansible-playbook 安装redis 创建目录: ### 创建剧本规范目录: mkdir -p /etc/ansible/roles/redis/{files,templates,vars ...

  9. MySQL全面瓦解16:存储过程相关

    概述 大多数SQL语句都是针对一个或多个表的单条语句.但并非所有业务都这么简单,经常会有复杂的操作需要多条语句才能完成. 比如用户购买一个商品,要删减库存表,要生成订单数据,要保存支付信息等等,他是一 ...

  10. linux查看文件夹和磁盘内存及服务器对应的ip

    多进程统计cpu 数目 n_cpu = multiprocessing.cpu_count() print(n_cpu) 查看文件夹占用磁盘空间 du -h --max-depth=1 /path 查 ...