HTML5权威指南--标签新变化,文件API,拖放API(简要学习笔记一)

简介:
1.标签元素更加语义化
 
2. 内容类型仍然为“text/html”
   扩展符仍然为html或者htm.
   <1>DOCTYPE 声明<!DOCTYPE html>就可以。不需要使用版本声明。
   <2>制定字符编码<meta charset="UTF-8">,不需要使用HTML4中的<meta http-equiv="Content-type" content="text/html;charset=UTF-8">。
 
3.省略引号
HTML5中,当属性值不包括空字符串,<,>,=,单引号,双引号等字符时,属性值两边的引号可以省略。
如:
<input type=text>
 
4.新增的全局属性
<1> contentEditable:主要功能是允许用户编辑元素中的内容。该属性是一个布尔值属性,可以被指定为TRUE或FALSE。
例子:
<ul contenteditable="true">
<li>asdasdas</li>
<li>asdasdas</li>
<li>asdasdas</li>
<li>asdasdas</li>
</ul>
 
<2> designMode:用来指定整个页面是否可编辑,当页面可编辑时,页面中任何支持上下文所述的contenteditable属性的元素都变成了可编辑状态。该属性有两个值;on与off.并且该属性只能在脚本中进行编辑修改。
如:
document.designMode="on";
 
<3> spellcheck:功能为对用户输入的文本内容进行拼写和语法检查。这个属性是一个布尔值。
 
<4> tabindex:当不断敲击Tab键让窗口或页面中的空间获得焦点。对窗口会哦页面中的所有控件进行便利的时候,每一个控件的tabindex表示该控件是第几个被访问到到的。
 
4.有变化的元素
a: 新增的结构元素
  section,article,aside,header,hgroup,footer,nav,figure
b: 其他元素
  video,audio,embed,mark,progress,time,ruby,rt,rp,wbr
c. 新增的功能
  canvas,command,details,datakist,datagrid,keygen,output,source,menu
d: 新增的input元素的类型
  email,url,number,range,Date Pickers
 
 
5.很多浏览器对HTML5的支持上不完全。
/*追加block声明*/
article,aside,dialog,figure,footer,header,legend,nav,section{
    display:block
}

 

 
6.新增属性
a: form
    在HTML5中,可以把它们书写在页面上任何地方,然后给该元素指定一个属性,属性值为该表单的id。
如:
<form id="do">
    <input type="text">
</form>
<textarea form="do"></textarea >
 
b: formaction
可以给所有的提交按钮增加该属性。使得点击不同的按钮,可以将表单提交到
不同的页面。
 
c: formmethod
可以对面哥表单元素分别指定不同的提交方法:post,get
 
d: placeholder
指的是当文本框处于未输入的状态时显示的输入提示
 
e: autofocus
当页面打开的时候,加上该属性的文本框等控件自动获得光标焦点。一个页面上只能有一个控件具有该属性。
 
f: list
 
g: autocomplete
辅助输入的自动完成功能
 
 
7.变化较大的input种类
  url,email,date,time,datetime,datetime-local,month,week,number,range,search,tel,color
 
 
8.元素内容输入校验
<1>required:如果元素内容为空白,则不允许提交,同时在浏览器中显示信息提示文字,提示用户这个元素中必须输入内容。
<2>pattern:将属性值设为某个格式的正则表达式,检查输入内容的格式。
<3>min与max:这两个属性是数值类型与日期类型的input元素的专用属性,限制了在input元素中输入的数值与日期范围。
<4>step:控制input元素中的值增加或减少时的步幅。
 
9.改良的ol列表
添加了start与reversed属性star属性可以自定义编号的初始值。reversed属性对列表进行反向排序。
 
10.改良的dl列表
如:
<dl>
    <dt>RSS</dt>
    <dd>RSS也叫聚合RSS是在线共享内容的一种简易方式...</dd>
    <dt>博客</dt>
    <dd>博客又名网络日志...</dd>
</dl>
 
11.文件API
HTML5中提供了一个关于文件操作的文件API。
<1> FileList对象和file对象
如:
 
<2> Blob对象
Blob表示二进制原始数据,上面的file对象也继承了这个Blob对象。
Blob对象有两个属性,size属性表示一个Blob对象的字节长度。
type属性表示Blob的MIME类型,如果是未知类型,则返回一个空字符串。
如:
function shw(){
 var file;
 var a=document.getElementById('file').files;
 console.log(a[0].name);
}
 
 
<3> FileReader接口
该接口主要用来把文件读入内存,并且读取文件中的数据。FileReader接口提供了一个异步API。
使用该API可以再浏览器主线程中异步访问文件系统,读取文件中的数据。
a:该接口的下面三个方法:
 
b:该接口的事件:
html:
复制代码
<input type="file" id="file"/>
<input type="button"  value="读取图像" onclick="re()"/>
<input type="button"  value="读取二进制数据" onclick="er()"/>
<input type="button"  value="读取文件文件" onclick="dq()"/>
 
<div name="result" id="result">
</div>
复制代码

 

 
js:
复制代码
function re(){
 
 var file=document.getElementById("file").files[0];
 var reader=new FileReader();
 //将文件以文本形式读入页面
 reader.readAsDataURL(file);
 reader.onload=function(e){
 
  var result=document.getElementById("result");
  result.innerHTML='<img  src="'+this.result+'" alt=""/>';
  //alert(file.name);
 }
}
 
function er(){
 
 var file=document.getElementById("file").files[0];
 var reader=new FileReader();
 //将文件以二进制形式读入页面
 reader.readAsBinaryString(file);
 reader.onload=function(e){
 
  var result=document.getElementById("result");
  result.innerHTML=this.result;
  //alert(file.name);
 }
}
    
function dq(){
 var file=document.getElementById("file").files[0];
 var reader=new FileReader();
 //将文件以Data URL形式读入页面
 reader.readAsText(file);
 reader.onload=function(e){
 
  var result=document.getElementById("result");
  result.innerHTML=this.result;
  //alert(file.name);
 }
}
复制代码
 
12.拖放API
<1>拖放事件:
如:
html:
<div id="dragme" draggable="true" style="width;200px;border:1px solid red">被拖放DIV</div>
<div id="text" draggable="true" style="width;200px;border:1px solid red">放入的DIV</div>

 

 
js:
复制代码
function init(){
 var source=document.getElementById("dragme");
 var dest=document.getElementById("text");
 source.addEventListener("dragstart",function(ev){
  var dt=ev.dataTransfer;
  dt.effectAllowed='all';
 
  dt.setData("text/plain","你好");
 },false);
 
 dest.addEventListener("dragend",function(ev){
  ev.preventDefault();
 },false);
 
 dest.addEventListener("drop",function(ev){
  var dt=ev.dataTransfer;
  var text=dt.getData("text/plain");
  dest.textContent+=text;
  ev.preventDefault();
  ev.stopPropagation();
 },false);
 
}
 
document.ondragover=function(e){e.preventDefault();}
document.ondrop=function(e){e.preventDefault();}
复制代码
 
具体分析:
 
<2> DataTransfer对象的属性与方法
<3> 设定拖放时的视觉效果
转载: http://www.cnblogs.com/zqzjs/p/4855874.html
目录
相关文章
|
15天前
|
移动开发 搜索推荐 HTML5
如何使用HTML5的语义化标签来提高网站的可访问性?
【4月更文挑战第1天】如何使用HTML5的语义化标签来提高网站的可访问性?
22 1
|
23天前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
25 1
|
1月前
如何在HTML文件中添加超链接
如何在HTML文件中添加超链接
21 0
|
1月前
|
Python
DTL与普通的HTML文件的区别
DTL与普通的HTML文件的区别。
65 5
|
1月前
HTML文档基础标签(2)
HTML文档基础标签(2)
N..
|
24天前
|
移动开发 前端开发 JavaScript
HTML文件
HTML文件
N..
13 1
|
3天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
13 1
|
15天前
|
移动开发 搜索推荐 开发者
HTML5中的语义化标签有哪些?
【4月更文挑战第1天】HTML5中的语义化标签有哪些?
9 0
HTML5中的语义化标签有哪些?
|
17天前
|
存储 移动开发 前端开发
html的常用标签
【4月更文挑战第1天】html的常用标签
19 4
|
25天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
90 3