《HTML5的新属性以及Html5与html4的异同》

233 阅读8分钟

HTML5 中一些有趣的新特性:

①用于绘画的 canvas 元素;

②用于媒介回放的 video 和 audio 元素;

③对本地离线存储的更好的支持;

④新的特殊内容元素,比如 article、footer、header、nav、section;

⑤新的表单控件,比如 calendar、date、time、email、url、search"

以上是w3c上的原话,简单说就是更符合标准,提供更多功能支持;更加规范,可读性更强,性能有提升,实现功能更加简单方便,就像手机一样,高版本的功能多一些。

HTML5和HTML4的区别:

1 HTML5中的标记方法 

 1.1 内容类型(ContentType) 

HTML5的文件扩展符与内容类型保持不变。

即扩展符仍然为".html"或".htm",内容类型仍然为“text/html”。 

 1.2 DOCTYPE 

HTML4  

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“> 

HTML5 

<!DOCTYPE html>(不区分大小写) 

在H5中,刻意不使用版本声明,一份文档将会适用所有版本的HTML。  

另外,当使用工具时,也可以在DOCTYPE声明方式中加入SYSTEM识别符,声明方法如下: <!DOCTYPE HTML SYSTEM "about:legacy-compat">(不区分大小写,引号不区分是单引号还是双引号) 

 1.3 指定字符编码 

HTML4 使用meta元素的形式指定文件中的字符编码(通过 content元素的属性来指定),如下所示:  

 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 

HTML5 使用对<meta>元素直接追加charset属性的方式来指定字符编码。 

 <meta charset="UTF-8">

注意:两种方法都有效,但是不能同时混合使用两种方式,从H5开始,对于文件的字符编码推荐使用UTF-8。 

2 HTML5确保的兼容性 

 2.1 可以省略标记的元素 

 (1)不允许写结束标记的元素(即不允许使用开始标记与结束标记将元素括起来的形式,只允许使用“<元素/>”的形式 ) 

 area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr 

 (2)可以省略结束标记的元素 

 li、dt、dd、p、rt、rp、optgroup、option、colgroup、thead、tbody、tfoot、tr、td、th 

 (3)可以省略全部标记的元素(指该元素可以完全被省略) 

 html、head、body、colgroup、tbody 

 注意:即使标记被省略了,该元素还是以隐式的方式存在。例如省略不写body元素时,再文档结构中它还是存在的,可以使用document.body访问。 

 2.2 具有boolean值的属性 

<!--只写属性不写属性值代表属性为true-->  
<input type="checkbox" checked>  

<!--不写属性代表属性为false-->  
<input type="checkbox">  

<!--,属性值=属性名,代表属性为true-->
<input type="checkbox" checked="checked">

<!--,属性值=空字符串,代表属性为true-->
<input type="checkbox" checked=" "> 

 2.3 省略引号 

(1)在指定属性值的时候,属性值两边加引号时,既可以用双引号也可以用单引号。 

(2)H5在此基础上做了一些改进,当属性值不包括空字符串、”<“、”>“、”=“、单引号、双引号等字符时,属性值两边的引号可以省略。 如下所示 

 <input type="text">     <input type='text'>       <input type=text> 

 3.HTML5新增的元素和废除的元素 

  3.1新增的结构元素 

section元素、article元素、aside元素、header元素、footer元素、 nav元素、figure元素、main元素  

 3.2新增的其他元素 

video元素、audio元素、embed元素、mark元素、progress元素、meter元素、time元素、ruby元素、rt元素、rp元素、wbr元素、canvas元素、commmand元素、details元素、datalist元素、datagrid元素、keygen元素、output元素、source元素、menu元素、dialog元素 

 3.3新增的input元素的类型 

(1)email:表示必须输入e-mail地址的文本输入框  

(2)url:表示必须输入URL地址的文本输入框  

(3)number:表示必须输入数值的文本输入框 

(4)range:表示必须输入一定范围内数字值的文本输入框 

(5)Date Pickers:H5拥有多个可供选择日期和时间的新型输入文本框 

        1. date:选取日、月、年 

        2 .month:选取月、年 

        3. week:选取周和年 

        4. time:选取时间(小时和分钟) 

        5. datetime:选取时间、日、月、年(UTC时间) 

        6. datetime-local:选取时间、日、月、年(本地时间) 

 (6)search:用于搜索 

 (7)tel:专用于电话 

 (8)color:颜色选择文本框。选择的值为”#000000“格式的文字。 

3.4 废除的元素 

(1)能使用CSS替代的元素 

         如:basefont、big、center、font、s、strike、tt、u 等元素 其中s、strike元素可以由del元素替代,tt元素由CSS的font-famliy属性进行代替。 

 (2)不再使用frame框架 

         如:frameset、frame、noframes。 由于frame框架对网页可用性存在负面影响,在H5中已不支持frame框架,只支持iframe框架或者由服务器方创建的由多个页面组成的复合页面的形式,同时将这三个元素废除。 

 (3)只有部分浏览器支持的元素 

         如:applet、bgsound、blink、marquee等元素。 其中applet元素可由embed元素或object元素代替,bsground元素可由audio元素代替,marquee可以由javascript编程方式代替。 

 (4)其他被废除的元素 

         1. rb元素,由ruby元素代替 

         2. acronym元素,由abbr元素代替 

         3. dir元素,由ul元素代替 

         4. isindex元素,由form元素与input元素相结合的方式代替 

         5 .listing.元素,由pre元素代替 

         6. xmp元素,由code元素代替 

         7. nextid元素,由GUIDS元素代替 

         8. plaintext元素,使用“text/plain”MIMEL类型代替 

4.全局属性 

所谓全局属性,是指可以对任何元素都使用的属性。 

 4.1 contentEditable属性 

 (1)主要功能 允许用户编辑元素中的内容,所以该元素必须是可以获得鼠标焦点的元素,而且在点击鼠标后要向用户提供一个插入符号,提示用户该元素中的内容循序编辑 

 (2)值 该属性为一个布尔值属性,可以被指定被true或false。 

 (3)隐藏的inhert状态 当该属性未被指定时,则由inherit状态来决定,如果元素的父元素是可编辑的,则该元素就是可编辑的。

 (4)isContentEditable属性 当元素可编辑时,该属性值为true,否则为false。 

 4.2 designMode属性 

 (1)功能 用来指定整个页面是否可编辑,当页面可编辑时,页面中任何支持contentEditable属性的元素都变成了可编辑状态。 

 (2)值 该属性有两个值,“ on ”(页面可编辑)和“ off ”(页面不可编辑)。 

 (3)该属性只能在Javascript脚本中被编辑修改 document.designMode = " on "; 

 (4)浏览器支持 

        1.IE8:出于安全考虑,不允许使用该属性让页面进入编辑状态。 

        2.IE9:允许使用该属性让页面进入编辑状态。 

        3.Chorme3 和 Safari:使用 。内嵌frame的方式,该内嵌frame是可编辑的。 

        4.Firefox 和 Opera:允许使用该属性让页面进入编辑状态。 

 4.3 hidden属性 

 (1)功能 通知浏览器不渲染该元素,使该元素处于不可见状态。 

 (2)值 布尔值属性,为 true 或 false。 

4.4 spellcheck属性 

    spellcheck属性是H5针对input元素(type=text)与textarea这两个文本输入框提供的一个新的属性。 

 (1)功能 对用户输入的文本内容进行拼写和语法检查. 

 (2)值 布尔值,true 或 false。 

 (3)注意: 

          1.必须声明属性值为true或false。 

          2.如果元素的 readOnly 属性或 disabled 属性设为 true,则不执行拼写检查。 

 (4)浏览器支持情况 目前除了IE之外,Firefox、Chorme、Safari、Opera等浏览器都对该属性提供了支持。  

4.5 tabindex属性 

每一个控件的tabindex表示该控件是第几个被访问到的。(敲击Tab键)

 (1)如今控件的遍历顺序是由元素在页面上所处位置决定的,所以就不再需要了。 

 (2)另一个作用 在默认情况下,只有链接元素与表单元素可以通过按键获取焦点。如果对其他元素使用该属性后,也能让该元素获得焦点。把元素的tabindex值设为负值(通常为-1)后,可以通过编程的方式让元素获得焦点,并且在按下Tab键时该元素不会获得焦点。 


原文链接:https://blog.csdn.net/qq_40542728/java/article/details/81742570