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 ...
随机推荐
- webpack相关的问题
随着现代前端开发的复杂度和规模越来越庞大,已经不能抛开工程化来独立开发了,如react的jsx代码必须编译后才能在浏览器中使用:又如sass和less的代码浏览器也是不支持的. 而如果摒弃了这些开发框 ...
- Spring Cloud是什么鬼?
研究了一段时间Spring Boot了准备向Spring Cloud进发,公司架构和项目也全面拥抱了Spring Cloud.在使用了一段时间后发现Spring Cloud从技术架构上降低了对大型系统 ...
- AI驱动的超分辨技术落地实践
近年来,随着深度学习技术的快速发展,基于AI的超分辨技术在图像恢复和图像增强领域呈现出广阔的应用前景,受到了学术界和工业界的关注和重视.但是,在RTC视频领域中,很多AI算法并不能满足实际场景下的应用 ...
- hdfs读写删除过程解析
一.hdfs文件读取过程 hdfs有一个FileSystem实例,客户端通过调用这个实例的open()方法就可以打开系统中希望读取的文件,hdfs通过rpc协议调用Nadmenode获取block的位 ...
- Angular入门到精通系列教程(7)- 组件(@Component)基本知识
1. 概述 2. 创建Component 组件模板 视图封装模式 特殊的选择器 :host inline-styles 3. 总结 环境: Angular CLI: 11.0.6 Angular: 1 ...
- Linux下最常用的10个文件压缩工具
作者简介 李先生(Lemon),高级运维工程师(自称),SRE专家(目标),梦想在35岁买一辆保时捷.喜欢钻研底层技术,认为底层基础才是王道.一切新技术都离不开操作系统(CPU.内存.磁盘).网络等. ...
- flask为多个接口添加同一个拦截器的方法
前言 最近又抽掉出来写一个 Python 项目, 框架使用 Flask , 又有些新心得, 比如本篇所说, 想要将某个蓝图加上统一的权限控制, 比如 admin 蓝图全部有一个统一的拦截器判断是否有权 ...
- Nginx集成Naxsi防火墙
前言 因工作原因,接触到了WAF,今天部署了一下Naxsi,记录一下 GitHub 正文 环境 Centos 7 下载 更新yum yum update -y 安装必要依赖 yum install g ...
- Openstack 启动一个实例(九)
Openstack 启动一个实例(九) 创建一个提供者网络: # 创建一个提供者网络: openstack network create --share --external --provider-p ...
- 使用Jenkins+Pipline 持构建自动化部署之安卓源码打包、测试、邮件通知
一.引言 Jenkins 2.x的精髓是Pipeline as Code,那为什么要用Pipeline呢?jenkins1.0也能实现自动化构建,但Pipeline能够将以前project中的配置信息 ...