HTML5学习一:元素和标签结构

新增的结构标签

  • section元素
    表示页面中的一个内容区块,比如章节、页眉、页脚或页面的其他部分。可以和h1、 h2……等元素结合起来使用,表示文档结构。例:HTML5中<section>……</section>;HTML4中<div> ……</div>。
  • article元素
    表示页面中一块与上下文不相关的独立内容。比如一篇文章。
  • aside元素
    表示article元素内容之外的、与article元素内容相关的辅助信息。
  • header元素
    表示页面中一个内容区块或真个页面的标题。
  • hgroup元素
    表示对真个页面或页面中的一个内容区块的标题进行组合。
  • footer元素
    表示整个页面或页面中一个内容区块的脚注。一般来说,他会包含创作者的姓名、创作日期以及创作者的联系信息。
  • nav元素
    表示页面中导航链接的部分。
  • figure元素 表示一段独立的流内容,一般表示文档主体流内容中的一个独立单元。使用figcaption元素为figure元素组添加标题。例如:
    <figure>
    <figcaption>PRC</figcaption>
    <p>The People’s Republic of China was born in 1949</p>
    </figure>
    HTML4中常写作
    <dl>
    <h1>prc</h1>
    <p>The People’s Republic of China was born in 1949</p>
    </dl>
     

新增的其他元素

  • video元素
    定义视频。像电影片段或其他视频流。例:<video src=”movie.ogg” controls=”controls”>video元素</video>
    HTML4中写法:
    <object type=”video/ogg” data=”move.ogv”>
    <param name =”src” value=”movie.ogv”>
    </object>
  • audio元素
    定义音频。如音乐或其他音频流。例:<audio src =”someaudio.wav”>audio元素</audio>
    html4中写法:
    <object tyle=”application/ogg” data=”someaudio.wav”>
    <param name =”src” value= “someaudio.wav”>
    </object>
  • embed元素
    用来嵌入内容(包括各种媒体)。格式可以是Midi、Wav、AIFF、AU、MP3,flash等。例:<embed src=”flash.swf” />
    HTML4中代码示例<object data=”flash.swf” type=”application/x-shockwave-flash”><object>
  • mark元素
    主要用来在视觉上向用户呈现哪些需要突出显示或高亮显示的文字。典型应用搜索结果中高亮显示搜素关键字。
    HTML5<mark></mark>;HTML4 <span></span>。
  • progress元素
    表示运行中的进程,可以使用progress元素显示JavaScript中耗时时间函数的进程。等待中……、请稍后等。<progress></progress>。
  • time元素
    表示日期或时间,也可以两者同时。
  • ruby元素
    定义 ruby 注释(中文注音或字符)。
    与 <ruby> 以及 <rt> 标签一同使用。ruby 元素由一个或多个字符(需要一个解释/发音)和一个提供该信息的 rt 元素组成,还包括可选的 rp 元素,定义当浏览器不支持 “ruby” 元素时显示的内容。
    <ruby>
    漢 <rt><rp>(</rp>ㄏㄢˋ<rp>)</rp></rt>
    </ruby>
  • rt元素
    定义字符(中文注音或字符)的解释或发音。
  • rp元素
    在 ruby 注释中使用,以定义不支持 ruby 元素的浏览器所显示的内容。
  • wbr元素
    表示软换行。与br元素的区别:br元素表示此处必须换行;wbr表示浏览器窗口或父级元素足弓宽时(没必要换行时),不换行,而宽度不够时主动在此处换行。
  • canvas元素
    定义图形,比如图表和其他图像。<canvas> 元素只是图形容器(画布),必须使用脚本来绘制图形。
    &lt;canvas id="myCanvas"&gt;&lt;/canvas&gt;<script type=”text/javascript”>
    var canvas=document.getElementById(‘myCanvas’);
    var ctx=canvas.getContext(‘2d’);
    ctx.fillStyle=’#FF0000’;
    ctx.fillRect(0,0,80,100);
    </script>
  • command元素——貌似没什么效果。是不是支持有问题
    表示命令按钮,比如单选按钮、复选框或按钮。只有当 command 元素位于 menu 元素内时,该元素才是可见的。否则不会显示这个元素,但是可以用它规定键盘快捷键。。
    <menu>
    <command onclick=”alert(‘Hello World’)”>
    Click Me!</command>
    </menu>
  • details标签 目前只有 Chrome 支持 details 标签
    用于描述文档或文档某个部分的细节 。
    可与 summary 标签配合使用,summary可以为 details 定义标题。标题是可见的,用户点击标题时,会显示出 details。summary应该是details的第一个子元素。
  • datalist**标签**
    定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。datalist 及其选项不会被显示出来,它仅仅是合法的输入值列表。使用 input 元素的 list 属性来绑定 datalist。
    <input id=”myCar” list=”cars” />
    &lt;datalist id="cars"&gt;
    <option value=”BMW”>
    <option value=”Ford”>
    <option value=”Volvo”>
    &lt;/datalist&gt;
  • datagrid标签 如何用?
    定义可选数据的列表。datagrid 作为树列表来显示。
    如果把 multiple 属性设置为 true,则可以在列表中选取一个以上的项目。
  • keygen标签 如何用?
    标签规定用于表单的密钥对生成器字段。

当提交表单时,私钥存储在本地,公钥发送到服务器。

<form action=”demo_keygen.asp” method=”get”>
Username: <input type=”text” name=”usr_name” />
Encryption: &lt;keygen name="security" /&gt;
<input type=”submit” />
</form>

  • output标签 定义不同类型的输出,比如脚本的输出。
    <form action=”form_action.asp” method=”get” name=”sumform”>
    <output name=”sum”></output>
    </form>
  • source标签
    标签为媒介元素(比如 <video> 和 <audio>)定义媒介资源。
  • menu标签
    定义菜单列表。当希望列出表单控件时使用该标签。注意与nav的区别,menu专门用于表单控件。
    <menu>
    <li><input type=”checkbox” />Red</li>
    <li><input type=”checkbox” />blue</li>
    </menu>
     

新增input标签

  • email
    必须输入email
  • url
    必须输入url地址
  • number
    必须输入数值
  • range
    必须输入一定范围内数值
  • Date Pickers(日期选择器)
    拥有多个可供选取日期和时间的新输入类型:
    date - 选取日、月、年
    month - 选取月、年
    week - 选取周和年
    time - 选取时间(小时和分钟)
    datetime - 选取时间、日、月、年(UTC 时间)
    datetime-local - 选取时间、日、月、年(本地时间)
  • search
    用于搜索域,域显示为常规的文本域。
  • color
     

废除的元素

1、能用css代替的元素
basefont、big、center、font、s、strike、tt、u。这些元素纯粹是为画面展示服务的,HTML5中提倡把画面展示性功能放在css中统一编辑。

2、不再使用frame框架。

frameset、frame、noframes。HTML5中不支持frame框架,只支持iframe框架,或者用服务器方创建的由多个页面组成的符合页面的形式,删除以上这三个标签。

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

applet、bgsound、blink、marquee等标签。

4、其他被废除的元素

废除rb,树勇ruby替代。

废除acronym使用abbr替代。

废除dir使用ul替代。

废除isindex使用form与input相结合的方式替代

废除listing使用pre替代

废除xmp使用code替代

废除nextid使用guids

废除plaintex使用“text/plian”(无格式正文)MIME类型替代。



HTML5中,在新增加和废除很多元素的同时,也增加和废除了很多属性。

新增的属性

1、表单相关的属性

对input(type=text)、select、textarea与button指定autofocus属性。它以指定属性的方式让元素在画面打开时自动获得焦点。 对input(type=text)、textarea指定placeholder属性,它会对用户的输入进行提示,提示用户可以输入的内容。
对input、output、select、textarea、button与fieldset指定form属性。它声明属于哪个表单,然后将其放置在页面的任何位置,而不失表单之内。 对input(type=text)、textarea指定required属性。该属性表示用户提交时进行检查,检查该元素内必定要有输入内容。
为input标签增加几个新的属性:autocomplete、min、max、multiple、pattern与step。还有list属性与datalist元素配合使用;datalist元素与autocomplete属性配合使用。multiple属性允许上传时一次上传多个文件; pattern属性用于验证输入字段的模式,其实就是正则表达式。step 属性规定输入字段的合法数字间隔(假如 step=”3”,则合法数字应该是 -3、0、3、6,以此类推),step 属性可以与 max 以及 min 属性配合使用,以创建合法值的范围。 为input、button元素增加formaction、formenctype、formmethod、formnovalidate与formtarget属性。用户重载form元素的action、enctype、method、novalidate与target属性。为fieldset元素增加disabled属性,可以把它的子元素设为disabled状态。
为input、button、form增加novalidate属性,可以取消提交时进行的有关检查,表单可以被无条件地提交。
2、链接相关属性
为a、area增加media属性。规定目标 URL 是为什么类型的媒介/设备进行优化的。该属性用于规定目标 URL 是为特殊设备(比如 iPhone)、语音或打印媒介设计的。该属性可接受多个值。只能在 href 属性存在时使用。
为area增加herflang和rel属性。hreflang 属性规定在被链接文档中的文本的语言。只有当设置了 href 属性时,才能使用该属性。注释:该属性是纯咨询性的。rel 属性规定当前文档与被链接文档/资源之间的关系。只有当使用 href 属性时,才能使用 rel 属性。 为link增加size属性。sizes 属性规定被链接资源的尺寸。只有当被链接资源是图标时 (rel=”icon”),才能使用该属性。该属性可接受多个值。值由空格分隔。
为base元素增加target属性,主要是保持与a元素的一致性。
3、其他属性
为ol增加reversed属性,它指定列表倒序显示。
为meta增加charset属性 为menu增加type和label属性。label为菜单定义一个课件的标注,type属性让才当可以以上下文菜单、工具条与列表cande但三种形式出现。
为style增加scoped属性。它允许我们为文档的指定部分定义样式,而不是整个文档。如果使用 “scoped” 属性,那么所规定的样式只能应用到 style 元素的父元素及其子元素。 为script增减属性,它定义脚本是否异步执行。async 属性仅适用于外部脚本(只有在使用 src 属性时)有多种执行外部脚本的方法:

如果 async=”async”:脚本相对于页面的其余部分异步地执行(当页面继续进行解析时,脚本将被执行) 如果不使用 async 且 defer=”defer”:脚本将在页面完成解析时执行
如果既不使用 async 也不使用 defer:在浏览器继续解析页面之前,立即读取并执行脚本 为html元素增加manifest,开发离线web应用程序时他与API结合使用,定义一个URL,在这个URL上描述文档的缓存信息。
为iframe增加撒个属性,sandbox、seamless、srcdoc。用来提高页面安全性,防止不信任的web页面执行某些操作。
废除的属性

HTML4中一些属性在HTML5中不再被使用,而是采用其他属性或其他方式进行替代。






























































































































































在HTML 4中使用的属性使用该属性的元素在HTML 5中的替代方案
revlink、arel
charsetlink、a在被链接的资源的中使用HTTP Content-type头元素
shape**、coordsa使用area元素代替a元素
longdescimg、iframe使用a元素链接到校长描述
targetlink多余属性,被省略
nohrefarea多余属性,被省略
profilehead多余属性,被省略
versionhtml多余属性,被省略
nameimgid
schememeta只为某个表单域使用scheme
archive**、chlassid、codebose、codetype、declare、standbyobject使用data与typc属性类调用插件。需要使用这些属性来设置参数时,使用param属性
valuetype**、typeparam使用name与value属性,不声明之的MIME类型
axis**、abbrtd、th使用以明确简洁的文字开头、后跟详述文字的形式。可以对更详细内容使用title属性,来使单元格的内容变得简短
scopetd在被链接的资源的中使用HTTP Content-type头元素
aligncaption、input、legend、div、h1、h2、h3、h4、h5、h6、p使用CSS样式表替代
alink**、link、text、vlink、background、bgcolorbody使用CSS样式表替代
align**、bgcolor、border、cellpadding、cellspacing、frame、rules、widthtable使用CSS样式表替代
align**、char、charoff、height、nowrap、valigntbody、thead、tfoot使用CSS样式表替代
align**、bgcolor、char、charoff、height、nowrap、valign、widthtd、th使用CSS样式表替代
align**、bgcolor、char、charoff、valigntr使用CSS样式表替代
align**、char、charoff、valign、widthcol、colgroup使用CSS样式表替代
align**、border、hspace、vspaceobject使用CSS样式表替代
clearbr使用CSS样式表替代
compace**、typeol、ul、li使用CSS样式表替代
compacedl使用CSS样式表替代
compacemenu使用CSS样式表替代
widthpre使用CSS样式表替代
align**、hspace、vspaceimg使用CSS样式表替代
align**、noshade、size、widthhr使用CSS样式表替代
align**、frameborder、scrolling、marginheight、marginwidthiframe使用CSS样式表替代
autosubmit*

menu