HTML5与HTML4的区别?

HTML5和HTML4在基本语法上的区别?

    1. 内容类型(ContentType)

                HTML5中的文件扩展符仍然为".html" 或 ".htm",内容类型仍然为"text/html"。javascript

    2. DOCTYPE声明

                 HTML4:html

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

                  HTML5:java

<!DOCTYPE html>

//当使用工具时,也能够在DOCTYPE声明方式中加入SYSSTEM识别符,声明方法以下:

<!DOCTYPE HTML SYSTEM "about:legacy-compat">

    3. 指定的字符编码

              HTML4中使用meta元素的形式指定文件中的字符编码,以下所示:web

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

               HTML5中,可使用<meta>元素直接追加charsetd属性的方式来指定字符编码,以下所示:canvas

<meta charset="UTF-8">

                这2种方式都有效,也能够用前一种方式,可是不能同时混用,下面这种方式是错误的。浏览器

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

HTML5中新增元素

    新增与结构相关的元素

                        section元素表示页面中一个内容区块,<section>...</section>,HTML4中代码示例<div>...</div>。缓存

                        article元素表示页面中一块与上下文不相关的独立内容,<article>...</article>,HTML4中代码示例<div>...</div>。安全

                        aside元素表示article元素的内容以外的、与article元素的内容相关的辅助信息。<aside>...ruby

</aside>,HTML4中代码示例<div>...</div>。app

                        header元素表示页面中一个内容区块或整个页面的标题。<header>...

</header>,HTML4中代码示例<div>...</div>。

                        hgroup元素用于对整个页面或页面中一个内容区块的标题进行组合。<hgroup></hgroup>,HTML4中代码示例<div>...</div>。

                        footer元素表示整个页面或页面中一个内容区块的脚注。通常来讲,它会包含创做者的姓名、创做日期以及创做者联系信息。<footer></footer>,HTML4中代码示例<div>...</div>。

                        nav元素表示页面中导航连接的部分,<nav></nav>,HTML4中代码示例<ul>...</ul>。

                        figure元素表示一段独立的流内容,通常表示文档主体流内容的一个独立单元,使用figcaption元素为figure元素添加标题。

<figure>
<figcaption>/...</figucaption>
<p>...</p>
</figure>

//HTML4中的代码示例

<dl>
<h1>...</h1>
<p>...</p>
</dl>

    其余元素

                        video元素,定义视频,好比电影片断或其余视频流。

//HTML5中代码示例

<video src="movie.ogg" controls="controls">video元素</video>


//HTML4中代码示例

<objext type="video/ogg" data="movie.ogg">
  <param name="src" value="movie.ogg">
</object>

                       audio元素,audio元素定义音频,好比音乐或其余音频流。

//HTML5中代码示例

<audio src="movie.wav">video元素</audio>


//HTML4中代码示例

<objext type="application/ogg" data="movie.wav">
  <param name="src" value="movie.wav">
</object>

                       embed元素, embed元素用来插入各类多媒体,格式能够是Midi、Wav、AIFF、AU、MP3等。

//HTML5中代码示例

<embed src="movie.wav" />


//HTML4中代码示例

<objext type="application/x-shockwave-flash" data="movie.wav"></object>

                        mark元素主要用来在视觉上向用户呈现那些须要突出显示或高亮显示的文字。典型就是在搜索结果中向用户高亮显示搜索关键词。

//HTML5中的代码示例

<mark></mark>


//HTML4中的代码示例

<span></span>

                           progress元素,progress元素表示运行中的进程,可使用progress元素来显示javascript中耗费时间的函数进程。<meter></meter> ,这是HTML5中新增功能,HTML4中代码没法实现。

                             time元素,time元素表示日期或时间,同时能够表示二者。

//HTML5中的代码示例

<time></time>


//HTML4中的代码示例

<span></span>

                             ruby元素,ruby元素表示 ruby注释(中文注音或字符),这也是HTML5中新增的功能。

<ruby>汉 <rt><rp>(</rp>...<rp>)</rp></rt></ruby>

                             rt元素,rt元素表示字符(中文注音或字符)的解释或发音。

                             rp元素,rp元素在ruby注释中使用,以定义不支持ruby元素的浏览器所显示的内容。

                             wbr元素,wbr元素表示软换行。wbr元素与br元素的区别是: br元素表示此处必须换行,而wbr元素的意思是浏览器窗口或父级元素的宽度足够宽时不进行换行,而当宽度不够时,主动在此处换行。

<p>... <wbr></p>

                             canvas元素,canvas元素表示图形, 好比图标和其余图像,仅提供画布,但它把一个绘图API展示给客户端javascript,以使脚本想把绘制的东西绘制到这块画布上。

//HTML5中的代码示例

<canvas id="myCanvas" width="200" height="200"> </canvas>


//HTML4中的代码示例

<object data="inc/exm.svg" type="image/svg/svg+xml" width="200" height="200"></object>

                             command元素,command元素表示命令按钮,好比单选按钮、复选框或按钮,这是HTML5中新增的功能。

<command onclick="cut()" label="cut">

                             details元素,details元素表示用户要求获得而且能够获得的细节信息。它能够与summary元素配合使用。summary元素提供标题或图例, 这是HTML5中新增的功能。

<details>
  <summary>HTML 5</summary>
  ...
</details>

                            datalist元素,datalist元素表示可选数据的列表,与input元素配合使用,能够制做输出值的下拉列表。这是HTML5中新增的功能。

<datalist></datalist>

                            datagrid元素,datagrid元素表示可选数据的列表,它以树形的形式来显示,这是HTML5中新增的功能。

<datagrid></datagrid>

                            keygen元素,keygen元素表示生成密钥,这是HTML5中新增的功能。

<keygen>

                           output元素,output元素表示不一样类型的输出,好比脚本的输出。

//HTML5中的代码示例

<output></output>


//HTML4中的代码示例

<span></span>

                           source元素,source元素为媒介元素(好比<video>和<audio>)定义媒介资源。

//HTML5中的代码示例

<source>


//HTML4中的代码示例

<param>

                           menu元素,menu元素表示菜单列表,当但愿列出表单空间时使用该标签,在HTML4中不被推荐使用。

<menu>
  <li><input type="checkbox">RED</li>
  <li><input type="checkbox">blue</li>
</menu>

    新增的input元素的类型

                         email、url、number、range、Date Pickers

                           Date Pickers:

                           date(年、月、日)

                            month(月、年)

                            week(周和年)

                            time(时间小时和分钟)

                            datetime(选择时间、日、月、年(UTC时间))

                            datetime-local(选取时间、日、月、年(本地时间))。

 

HTML5中新增属性

    表单相关的属性

                        1. 能够对input(type=text)、select、textarea与button元素指定autofocus属性。它是以指定属性的方式让元素在画面打开时自动得到焦点。

                        2. 能够对input(type=text)与textarea元素指定placeholder属性,它会对用户的输入进行提示,提示用户能够输入的内容。

                        3. 能够对input(type=text)与textarea元素指定required属性,该属性表示在用户提交的时候进行检查,检查该元素内必定要有输入内容。

                        4. 对input新增的属性:autocomplete、min、max、multiple、pattern与step。

                        5. 对input和button元素新增新属性:formaction、formenctype、formmethod、formnovalidate与formtarget。为fieldset元素增长了disabled属性,能够把它的子元素设为disabled状态。

                        6. 为input、button、form元素增长了novalidate属性,该属性能够取消提交时进行的有关检查,表单能够被无条件地提交。

    连接相关属性

                        1. 为a与area增长了media属性,该属性规定目标URL是什么类型的媒介/设备进行优化的,在鞥在href属性存在时使用。

                        2.  为area元素增长了hreflang属性与rel属性,以保持与a元素、link元素的一致。

                        3. 为link元素增长了新属性sizes。

                        4. 为base元素增长了target属性,主要目的是保持与a元素的一致性。

    其余属性

                        1. 为ol元素添加reversed,指定列表倒序显示。

                        2. 为meta元素增长charset属性。

                        3. 为menu增长 type和label属性。

                        4. 为style元素增长scoped属性,用来规定样式的做用范围。

                        5. 为script增长async属性 ,定义脚本是否异步执行。

                        6. 为html元素增长属性manifest,开发离线web应用程序时它与其余API结合使用,定义一个URL,在这个URL上描述文档的缓存信息。

                        7. 为iframe元素增长sandbox、seamless、srcdoc,用来提升页面安全性,防止不信任的web页面执行某些操做。

 

几个经常使用的全局属性

    全局属性

                        全局属性的概念是HTML5中新增的,是指能够对任何元素都使用的属性。

    contentEditable

                        contentEditable是一个布尔值属性,主要功能是容许用户编辑元素中的内容,因此该元素是能够得到鼠标焦点的元素,并且在点击鼠标后要向用户提供一个插入符号,提示该元素中的内容容许编辑。

    designMode

                        designMode属性有2个值,"on"和"off",用来指定整个页面是够可编辑,当页面编辑时,任何支持上文的contentEditable属性的元素都变成可编辑状态。

document.designMode = "on";

    hidden

                        hidden属性相似于input元素中的hidden元素,功能是通知浏览器不渲染该元素,使该元素处于不可见状态。

    spellcheck

                        spellcheck是HTML5针对input(type=text)与textarea这2个文本输入框提供的一个新属性,它对用户输入的文本内容进行拼写和语法检查。  spellcheck属性是一个布尔属性值,特别的是使用这个属性时必须声明属性值为true或false。

                        注意!!! 元素为readOnly属性或disabled属性设为true时,不执行拼写检查。

    tabindex

                        tabindex是开发中的一个基本概念,当不断敲击Tab键让窗口或页面中的控件得到焦点,对窗口或页面中的全部控件进行遍历的时候,每个控件的tabindex表示该控件是第几个被访问到的。做用二是在默认状况下,只有连接元素与表单元素能够经过按键得到焦点。可是有反作用,脚本中执行focus()语句能够得到焦点,该元素也能够经过按Tab键得到焦点。因此把元素tabindex值设为负数(-1)。

 

参考资料

【中】陆凌牛 著  机械工业出版社《HTML5 与 CSS3 权威指南》

 

转载时请注明:来自w-rain的我的博客

相关文章
相关标签/搜索