HTML5.1 新增的14项特性学习
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属性将其绑定到任何元素上。
- 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项特性学习的更多相关文章
- web前端学习(二)html学习笔记部分(1) -- html5新增的元素及特性等等
检查,在浏览器中可以调整设备类型 html5实现水池效果. lang:en为英文语言,中文语言zh <html lang="en"> <head> < ...
- 前端笔记之HTML5&CSS3(上)新特性&音频视频&本地存储&自定义属性
一.HTML5简介 HTML 5 的第一份正式草案已于2008年1月22日公布.HTML5 仍处于完善之中.然而,大部分现代浏览器已经具备了某些 HTML5 支持. 2014年10月29日,万维网联盟 ...
- Android开发project师,前行路上的14项技能
导读: 你是否曾渴望回到宋朝? 或者什么朝,反正就是男耕女织的古代. 哦,那时的首都在汴梁(开封),房价想必没有如今这么高,工作?无非就是给你把锄头,去,种地去.夕阳西下了,麦子垛后,你和翠姑搂抱在一 ...
- HTML5与CSS3权威指南之CSS3学习记录
title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...
- html5中新增的form表单属性
html5中新增两个表单属性,分别autocomplete和novalidate属性 1.autocomplete属性 该属性用于控制自动完成功能的开启和关闭.可以设置表单或者input元素,有两个属 ...
- HTML5 INPUT新增属性
HTML5的input标签新增了很多属性,也是让大家非常兴奋的一件事,用简单的一个属性搞定以前复杂的JS验证.input新增的这些属性,使得html和js的分工更明确了,使用起来十分舒畅.我们先看下i ...
- HTML5初学者福利!11个在线学习网站推荐
HTML5初学者福利!11个在线学习网站推荐 HTML5的强大及流行趋势,让更多的人想要系统的对它进行学习.而大多数人获取HTML5知识的重要途径都是网络,不过面对五花八门的搜索结果,是不是觉得摸不着 ...
- html5标签video(播放器)学习笔记(二)-基本操作
html5标签video(播放器)学习笔记(二)-基本操作 subying 发布时间: 2014/12/01 23:59 阅读: 13008 收藏: 21 点赞: 3 评论: 0 摘要 本文介绍了ht ...
- HTML5 DOM 新增数据类型
HTML5 DOM 新增数据类型 前言 相对于HTML4当中的DOM,在HTML5中的DOM,新增了很多复杂数据类型,为实际的应用提供了便捷的操作. 在HTML5 DOM中,新增了如下的内容: HTM ...
随机推荐
- Java学习日报 9.29
package random;import java.util.*;import java.math.*;public class Com { public static void main(Stri ...
- lock与synchronized 的区别【网上收集】
1. 区别 类别 synchronized Lock 存在层次 Java的关键字,在jvm层面上 是一个接口 锁的释放 1.以获取锁的线程执行完同步代码,释放锁 2.线程执行发生异常,jvm会让线程释 ...
- JavaScript AMD模块化规范
浏览器环境 有了服务器端模块以后,很自然地,大家就想要客户端模块.而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行. 但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器 ...
- python之random 、os 、sys 模块
一.random模块 import random print(random.random())#(0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3 ...
- 买卖股票的最佳时机 III
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的 ...
- spring boot 邮件服务
引入依赖 添加spring-boot-starter-mail包引用 <dependency> <groupId>org.springframework.boot</gr ...
- AndroidStuidio安装
前言 端午小长假,安卓入门走起 正文 下载AndroidStudio 这里给出google的官网 https://developer.android.com/studio 注意,因404原因,如果你无 ...
- 魔法方法推开Python进阶学习大门
热爱Python Python是Guido van Rossum设计出来的让使用者觉得如沐春风的一门编程语言.2020年11月12日,64岁的Python之父宣布由于退休生活太无聊,自己决定加入Mic ...
- 支持向量机(SVM)原理详解
SVM简介 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机:SVM还包括核技巧, ...
- Centos 7 下的KVM虚拟机
一 什么是KVM虚拟机: KVM虚拟机 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中. ...