澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站关于HTML5的22个初级技巧,开

2019-07-21 作者:澳门新萄京赌场网址   |   浏览(124)

开发者须知 HTML5 的15个新特性

2012/02/22 · HTML5 · HTML5

英文原文:15-html5-new-features-you-must-know,翻译:CSDN

HTML5想必大家都很熟悉了,因为太多的媒体在讨论这一技术。然而,你能准确地说出HTML5带来了哪些新特性吗?本文总结了HTML5带来的15项你必须知道的新特性。

一起来看下:1.新的文档类型  (New Doctype)


目前许多网页还在使用XHTML 1.0 并且要在第一行像这样
声明文档类型:

XHTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ";

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

在HTML5中,上面那种声明方式将失效。下面是HTML5中的声明方式:

XHTML

<!DOCTYPE html>

1
<!DOCTYPE html>

2.脚本和链接无需type  (No More Types for Scripts and Links)

在HTML4或XHTML中,你需要用下面的几行代码来给你的网页添加CSS和JavaScript文件。

XHTML

<link rel="stylesheet" href="path/to/stylesheet.css" type="text/css" /> <script type="text/javascript" src="path/to/script.js"></script>

1
2
<link rel="stylesheet" href="path/to/stylesheet.css" type="text/css" />
<script type="text/javascript" src="path/to/script.js"></script>

而在HTML5中,你不再需要指定类型属性。因此,代码可以简化如下:

XHTML

<link rel="stylesheet" href="path/to/stylesheet.css" /> <script src="path/to/script.js"></script>

1
2
<link rel="stylesheet" href="path/to/stylesheet.css" />
<script src="path/to/script.js"></script>

3.语义Header和Footer (The Semantic Header and Footer)

在HTML4或XHTML中,你需要用下面的代码来声明“Header”和“Footer”。

XHTML

<div id="header"> ... </div> .......... <div id="footer"> ... </div>

1
2
3
4
5
6
7
<div id="header">
...
</div>
..........
<div id="footer">
...
</div>

在HTML5中,有两个可以替代上述声明的元素,这可以使代码更简洁。

XHTML

<header> ... </header> <footer> ... </footer>

1
2
3
4
5
6
<header>
...
</header>
<footer>
...
</footer>

4.Hgroup

在HTML5中,有许多新引入的元素,hgroup就是其中之一。假设我的网站名下面紧跟着一个子标题,我可以用<h1>和<h2>标签来分别定义。然而,这种定义没有说明这两者之间的关系。而且,h2标签的使用会带来更多问题,比如该页面上还有其他标题的时候。

在HTML5中,我们可以用hgroup元素来将它们分组,这样就不会影响文件的大纲。

XHTML

<header> <hgroup> <h1> Recall Fan Page </h1> <h2> Only for people who want the memory of a lifetime. </h2> </hgroup> </header>

1
2
3
4
5
6
<header>
<hgroup>
  <h1> Recall Fan Page </h1>
  <h2> Only for people who want the memory of a lifetime. </h2>
</hgroup>
</header>

5.标记元素 (Mark Element)

你可以把它当做高亮标签。被这个标签修饰的字符串应当和用户当前的行动相关。比如说,当我在某博客中搜索“Open your Mind”时,我可以利用一些JavaScript将出现的词组用<mark>修饰一下。

XHTML

<h3> Search Results </h3> <p> They were interrupted, just after Quato said, <mark>"Open your Mind"</mark>. </p>

1
2
<h3> Search Results </h3>
<p> They were interrupted, just after Quato said, <mark>"Open your Mind"</mark>. </p>

6.图形元素 (Figure Element)

在HTML4或XHTML中,下面的这些代码被用来修饰图片的注释。

XHTML

<img src="path/to/image" alt="About image" /> <p>Image of Mars. </p>

1
2
<img src="path/to/image" alt="About image" />
<p>Image of Mars. </p>

然而,上述代码没有将文字和图片内在联系起来。因此,HTML5引入了<figure>元素。当和<figcaption>结合起来后,我们可以语义化地将注释和相应的图片联系起来。

XHTML

<figure> <img src="path/to/image" alt="About image" /> <figcaption> <p>This is an image of something interesting. </p> </figcaption> </figure>

1
2
3
4
5
6
<figure>
<img src="path/to/image" alt="About image" />
<figcaption>
  <p>This is an image of something interesting. </p>
</figcaption>
</figure>

7.重新定义<small> (Small Element redefined)

在HTML4或XHTML中,<small>元素已经存在。然而,却没有如何正确使用这一元素的完整说明。在HTML5中,<small>被用来定义小字。试想下你网站底部的版权状态,根据对此元素新的HTML5定义,<small>可以正确地诠释这些信息。

8.占位符 (Placeholder)

在HTML4或XHTML中,你需要用JavaScript来给文本框添加占位符。比如,你可以提前设置好一些信息,当用户开始输入时,文本框中的文字就消失。

而在HTML5中,新的“placeholder”就简化了这个问题。

9.必要属性 (Required Attribute)

HTML5中的新属性“required”指定了某一输入是否必需。有两种方法声明这一属性。

XHTML

<input type="text" name="someInput" required> <input type="text" name="someInput" required="required">

1
2
<input type="text" name="someInput" required>
<input type="text" name="someInput" required="required">

当文本框被指定必需时,如果空白的话表格就不能提交。下面是一个如何使用的例子。

XHTML

<form method="post" action=""> <label for="someInput"> Your Name: </label> <input type="text" id="someInput" name="someInput" placeholder="Douglas Quaid" required> <button type="submit">Go</button> </form>

1
2
3
4
5
<form method="post" action="">
<label for="someInput"> Your Name: </label>
<input type="text" id="someInput" name="someInput" placeholder="Douglas Quaid" required>
<button type="submit">Go</button>
</form>

在上面那个例子中,如果输入内容空且表格被提交,输入框将被高亮显示。

10.Autofocus 属性 (Autofocus Attribute)

同样,HTML5的解决方案消除了对JavaScript的需要。如果一个特定的输入应该是“选择”或聚焦,默认情况下,我们现在可以利用自动聚焦属性。

XHTML

<input type="text" name="someInput" placeholder="Douglas Quaid" required autofocus>

1
<input type="text" name="someInput" placeholder="Douglas Quaid" required autofocus>

11.Audio 支持 (Audio Support)

目前我们需要依靠第三方插件来渲染音频。然而在HTML5中,<audio>元素被引进来了。

XHTML

<audio autoplay="autoplay" controls="controls"> <source src="file.ogg" /> <source src="file.mp3" /> <a href="file.mp3">Download this file.</a> </audio>

1
2
3
4
5
<audio autoplay="autoplay" controls="controls">
     <source src="file.ogg" />
     <source src="file.mp3" />
     <a href="file.mp3">Download this file.</a>
</audio>

当使用<audio>元素时请记得包含两种音频格式。FireFox想要.ogg格式的文件,而Webkit浏览器则需要.mp3格式的。和往常一样,IE是不支持的,且Opera 10及以下版本只支持.wav格式。

12.Video 支持 (Video Support)

HTML5中不仅有<audio>元素,而且还有<video>。然而,和<audio>类似,HTML5中并没有指定视频解码器,它留给了浏览器来决定。虽然Safari和Internet Explorer9可以支持H.264格式的视频,Firefox和Opera是坚持开源Theora 和Vorbis格式。因此,指定HTML5的视频时,你必须提供这两种格式。

XHTML

<video controls preload> <source src="cohagenPhoneCall.ogv" type="video/ogg; codecs='vorbis, theora'" /> <source src="cohagenPhoneCall.mp4" type="video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" /> <p> Your browser is old. <a href="cohagenPhoneCall.mp4">Download this video instead.</a> </p> </video>

1
2
3
4
5
<video controls preload>
<source src="cohagenPhoneCall.ogv" type="video/ogg; codecs='vorbis, theora'" />
<source src="cohagenPhoneCall.mp4" type="video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" />
<p> Your browser is old. <a href="cohagenPhoneCall.mp4">Download this video instead.</a> </p>
</video>

13.视频预载 (Preload attribute in Videos element)

当用户访问页面时这一属性使得视频得以预载。为了实现这个功能,可以在<video>元素中加上preload=”preload”或者只是preload。

XHTML

<video preload>

1
<video preload>

14.显示控制条 (Display Controls)

如果你使用过上面的每一个提到的技术点,你可能已经注意到,使用上面的代码,视频仅仅显示的是张图片,没有控制条。为了渲染出播放控制条,我们必须在video元素内指定controls属性。

XHTML

<video preload controls>

1
<video preload controls>

15.正规表达式 (Regular Expressions)

在HTML4或XHTML中,你需要用一些正规表达式来验证特定的文本。而HTML5中新的pattern属性让我们能够在标签处直接插入一个正规表达式。

XHTML

<form action="" method="post"> <label for="username">Create a Username: </label> <input type="text" name="username" id="username" placeholder="4 <> 10" pattern="[A-Za-z]{4,10}" autofocus required> <button type="submit">Go </button> </form>

1
2
3
4
5
6
7
8
9
10
11
<form action="" method="post">
<label for="username">Create a Username: </label>
    <input type="text"
    name="username"
    id="username"
    placeholder="4 <> 10"
    pattern="[A-Za-z]{4,10}"
    autofocus
    required>
<button type="submit">Go </button>
</form>

结论

事实上,还有很多新元素和特性,上面提到的只是一些我认为网站开发中常用的,剩下的就由你们自己去摸索啦。

 

赞 1 收藏 评论

澳门新萄京官方网站 1

很多人都在讨论HTML5的新特性,下面我简单的介绍下:

点评:HTML5有很多的新功能.新代码.非常不错.现在总结一下.仅供参考

  1. 新的文档类型(Doctype)

点评:HTML5来了.让我们看一下有什么技巧

1.新的文档类型(New Doctype)

目前许多网页还在使用XHTML 1.0并且要在第一行像这样声明文档类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >

<";

在HTML5中,上面那种声明方式将失效。下面是HTML5中的声明方式:

<!DOCTYPE html>

1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染
2. Figure元素 用<figure>和<figcaption>来语义化地表示带标题的图片
<figure>
<img src=”path/to/image” alt=”About image” />
<figcaption>
<p>This is an image of something interesting. </p>
</figcaption>
</figure>
3. 重新定义的<small> <small>已经被重新定义了,现在被用来表示小的排版,如网站底部的版权声明
*澳门新萄京官方网站关于HTML5的22个初级技巧,开发者须知。*4. 去掉link和script标签里面的type属性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

Web技术的发展速度太快了,如果你不与时俱进,就会被淘汰。因此,为了应对即将到来的HTML5,本文总结了22个HTML5的初级技巧,希望能对你进一步学习好HTML5会有所帮助。
1. 新的Doctype声明 XHTML的声明太长了,我相信很少会有前端开发人员能手写出这个Doctype声明。

2.脚本和链接无需type  (No More Types for Scripts and Links)

在HTML4或XHTML中,你需要用下面的几行代码来给你的网页添加CSS和JavaScript文件。

<link rel="stylesheet" href="/stylesheet.css" type="text/css" />

<script type="text/javascript" src="script.js" ></script>

而在HTML5中,你不再需要指定类型属性。因此,代码可以简化如下:

<link rel="stylesheet" href="stylesheet.css" />

<script src="script.js"></script>

  1. 加/不加 括号
    HTML5没有严格的要求属性必须加引号,闭合不闭合,但是建议加上引号和闭合标签 6. 让你的内容可编辑,只需要加一个contenteditable属性
  2. Email Inputs
    如果我们给Input的type设置为email,浏览器就会验证这个输入是否是email类型,当然不能只依赖前端的校验,后端也得有相应的校验 8. Placeholders
    这个input属性的意义就是不必通过javascript来做placeholder的效果了 9. Local Storage
    使用Local Storage可以永久存储大的数据片段在客户端(除非主动删除),目前大部分浏览器已经支持,在使用之前可以检测一下window.localStorage是否存在
    10. 语义化的header和footer
  3. 更多的HTML5表单特性
  4. IE和HTML5
    默认的,HTML5新元素被以inline的方式渲染,不过可以通过下面这种方式让
    其以block方式渲染
    header, footer, article, section, nav, menu, hgroup {
    display: block;
    }
    不幸的是IE会忽略这些样式,可以像下面这样fix:
    document.createElement(”article”);
    document.createElement(”footer”);
    document.createElement(”header”);
    document.createElement(”hgroup”);
    document.createElement(”nav”);
    document.createElement(”menu”);
    13. hgroup
    一般在header里面用来将一组标题组合在一起,如
    <header>
    <hgroup>
    <h1> Recall Fan Page </h1>
    <h2> Only for people who want the memory of a lifetime. </h2>
    </hgroup>
    </header>
    14. Required属性
    required属性定义了一个input是否是必须的,你可以像下面这样声明
    <input type=”text” name=”someInput” required>
    或者
    <input type=”text” name=”someInput” required=”required”>
    15. Autofocus属性
    澳门新萄京官方网站关于HTML5的22个初级技巧,开发者须知。正如它的词义,就是聚焦到输入框里面
    <input type=”text” name=”someInput” placeholder=”Douglas Quaid” required autofocus>
    16. Audio支持
    HTML5提供了<audio>标签,你不需要再按照第三方插件来渲染音频,大多数现代浏览器提供了对于HTML5 Audio的支持,不过目前仍旧需要提供一些兼容处理,如
    <audio autoplay=”autoplay” controls=”controls”>
    <source src=”file.ogg” /><!–FF–>
    <source src=”file.mp3″ /><!–Webkit–>
    <a href=”file.mp3″>Download this file.</a>
    </audio>
    17. Video支持
    和Audio很像,<video>标签提供了对于video的支持,由于HTML5文档并没有给video指定一个特定的编码,所以浏 览器去决定要支持哪些编码,导致了很多不一致。Safari和IE支持H.264编码的格式,Firefox和Opera支持Theora和Vorbis 编码的格式,当使用HTML5 video的时候,你必须都提供:
    <video controls preload>
    <source src=”cohagenPhoneCall.ogv” type=”video/ogg; codecs=’vorbis, theora’” />
    <source src=”cohagenPhoneCall.mp4″ type=”video/mp4; ’codecs=’avc1.42E01E, mp4a.40.2′” />
    <p> Your browser is old. <a href=”cohagenPhoneCall.mp4″>Download this video instead.</a> </p>
    </video>
    18. 预加载视频
    preload属性就像它的字面意思那么简单,你需要决定是否需要在页面加载的时候去预加载视频
    <video preload>
    19. 显示视频控制
    <video preload controls> 20. 正则表达式
    由于pattern属性,我们可以在你的markup里面直接使用正则表达式了
    <form action=”" method=”post”>
    <label for=”username”>Create a Username: </label>
    <input type=”text” name=”username” id=”username” placeholder=”4 <> 10″ pattern=”[A-Za-z]{4,10}” autofocus required>
    <button type=”submit”>Go </button>
    </form>
    21. 检测属性支持
    除了Modernizr之外我们还可以通过javascript简单地检测一些属性是否支持,如:
    <script>
    if (!’pattern’ in document.createElement(’input’) ) {
    // do client/server side validation
    }
    </script>
    22. Mark元素
    把<mark>元素看做是高亮的作用,当我选择一段文字的时候,javascript对于HTML的markup效果应该是这样的:
    <h3> Search Results </h3>
    <p> They were interrupted, just after Quato said, <mark>”Open your Mind”</mark>. </p>
    23. 什么时候用<div>
    HTML5已经引入了这么多元素,那么div我们还要用吗?div你可以在没有更好的元素的时候去用。 24. 想立即使用HTML5?
    不要等2022了,现在就可以使用了,just do it. 25. 哪些不是HTML5
    1)SVG
    2)CSS3
    3)Geolocation
    4)Client Storage
    5)Web Sockets
    26. Data属性
    <div id=”myDiv” data-custom-attr=”My Value”> Bla Bla </div>
    CSS中使用:
    <style>
    h1:hover:after {
    content: attr(data-hover-response);
    color: black;
    position: absolute;
    left: 0;
    }
    </style>
    <h1 data-hover-response=”I Said Don’t Touch Me!”> Don’t Touch Me </h1>
    27. Output元素
    <output>元素用来显示计算结果,也有一个和label一样的for属性 28. 用Range Input来创建滑块
    **HTML5引用的range类型可以创建滑块,它接受min, max, step和value属性
    可以使用css的:before和:after来显示min和max的值
    <input type=”range” name=”range” min=”0″ max=”10″ step=”1″ value=”">
    input[type=range]:before { content: attr(min); padding-right: 5px;
    }
    input[type=range]:after { content: attr(max); padding-left: 5px;}

";

代码如下:

3.语义Header和Footer (The Semantic Header and Footer)

在HTML4或XHTML中,你需要用下面的代码来声明"Header"和"Footer"。

<div id="header">...</div>

.........

<div id="footer">...</div>

在HTML5中,有两个可以替代上述声明的元素,这可以使代码更简洁。

<header>...</header>

<footer>...</footer>

上面这个既麻烦又难记的XHTML文档类型你还在使用吗? 如果还是这样的话,现在该切换到新的HTML5文档类型了。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
";

4.Hgroup

在HTML5中,有许多新引入的元素,hgroup就是其中之一。假设我的网站名下面紧跟着一个子标题,我可以用<h1>和<h2>标签来分别定义。然而,h2标签的使用会带来更多问题,比如该页面上还有其他标题的时候。

在HTML5中,我们可以用hgroup元素来将它们分组,这样就不会影响文件的大纲。

<header>

    <hgroup>

        <h1>Recall Fan Page</h1>

        <h2>Only for people who want the memory of a lifetime.</h2>

    </hgroup>

</header>

<!DOCTYPE html>

 
HTML5的Doctype声明很短,看到这个声明相信你马上就能记住,不用浪费脑细胞去记那长的有点变态的XHTML的Doctype声明了。
<!DOCTYPE html>
HTML5的简短的DOCTYPE声明是让Firefox、Chrome等现代浏览器和IE6/7/8等浏览器都进入(准)标准模式,你可能会奇怪IE6/7居然也可以支持HTML5 Doctype,事实上,IE是只要doctype符合 这种格式,都会进入标准模式。
2. <figure>标签
看看下面一段简单的代码:

5.标记元素 (Mark Element)

你可以把它当做高亮标签。被这个标签修饰的字符串应当和用户当前的行动相关。比如说,当我在某博客中搜索“Open your Mind”时,我可以利用一些JavaScript将出现的词组用<mark>修饰一下。

<h3>Search Results</h3>

<p>They were interrupted, just after Quato said,<mark>"Open your Mind".</mark>.</p>

现在只要这么简单的15个字符就可以了。(注意:你的doctype的申明需要出现在你html文件的第一行。)

代码如下:

6.图形元素 (Figure Element)

在HTML4或XHTML中,下面的这些代码被用来修饰图片的注释。

<img src="image" alt="About image" />

<p> Image of Mars.</p>

然而,上述代码没有将文字和图片内在联系起来。因此,HTML5引入了<figure>元素。当和<figcaption>结合起来后,我们可以语义化地将注释和相应的图片联系起来。

<figure><img src="image" alt="About image" />

<figcaption>

<p>This is an image of something interesting.</p>

</figcaption>

</figure>

 

<img alt="About image" src="path/to/image">
<h6>image of Mars.</h6>

7.重新定义 <small>(Small Element redefined)

在HTML4或XHTML中,<small>元素已经存在。然而,却没有如何正确使用这一元素的完整说明。在HTML5中,<small>被用来定义小字。试想下你网站底部的版权状态,根据对此元素新的HTML5定义,<small>可以正确地诠释这些信息。

  1. 图形(Figure)元素

 
遗憾的是,这里的h6标签和img标签好像没有什么关系,语义不够明确。HTML5意识到了这一点,于是就采用了<figure>标签。当<figure>结合<figcaption>标签的使用,可以让h6标签和img标签组合起来,代码就更具语义化了。

8.占位符 (Placeholder)

在HTML4或XHTML中,你需要用JavaScript来给文本框添加占位符。比如,你可以提前设置好一些信息,当用户开始输入时,文本框中的文字就消失。

而在HTML5中,新的“placeholder”就简化了这个问题。

你还在考虑用下面的代码来标记图片吗?

代码如下:

9.必要属性 (Required Attribute)

HTML5中的新属性“required”指定了某一输入是否必需。有两种方法声明这一属性。

<input type="text" name="someInput" required>

<input type="text" name="someInput" required="required">

当文本框被指定必需时,如果空白的话表格就不能提交。下面是一个如何使用的例子。

<form method="post" action="">

<label for="someInput">Your Name:</label>

<input type="text" id="someInput" name="someInput" placeholder="Douglas">

<button type="submit">Go</button>

</form>

在上面那个例子中,如果输入内容空且表格被提交,输入框将被高亮显示。

<mg src="path/to/image" alt="About image" />

<figure>
<img alt="about image" src="path/to/image">
<figcaption>
<h6>This is an image of something interesting. </h6>
</figcaption>
</figure>

10.Autofocus属性 (Autofocus Attribute)

同样,HTML5的解决方案消除了对JavaScript的需要。如果一个特定的输入应该是“选择”或聚焦,默认情况下,我们现在可以利用自动聚焦属性。

<p>Image of Mars. </p>

3. 重新定义<small> 不久前,我使用了<small>标签来创建与logo相关的副标题。但是在HTML5中重新定义了<small>标签,使之更能表现语义化,在<small>的字号都会变小,想想如果这个标签用于网站的底部的版权信息还是个不错的做法。
4. 去掉了Javascript和CSS标签的type属性 通常你会在<link>和<script>加上type属性:

11.Audio支持 (Audio Support)

目前我们需要依靠第三方插件来渲染音频。然而在HTML5中,元素被引进来了。

当使用元素时请记得包含两种音频格式。FireFox想要.ogg格式的文件,而Webkit浏览器则需要.mp3格式的。和往常一样,IE是不支持的,且Opera 10及以下版本只支持.wav格式。

上 面的代码它不能以简单而且富有语义关联的方式与图形的标题关联,因为它仅仅是用段落标记以及图片元素包裹,而 HTML5通过引进<figure>元素,改进了这一点。当结合 <figcaption> 元素使用时,我们就可以将图形标题与图形配对起来。代码如下:

代码如下:

12.Video支持 (Video Support)

HTML5中不仅有<audio>元素,而且还有<video>。然而,和<audio>类似,HTML5中并没有指定视频解码器,它留给了浏览器来决定。虽然Safari和Internet Explorer9可以支持H.264格式的视频,Firefox和Opera是坚持开源Theora和Vorbis格式。因此,指定HTML5的视频时,你必须提供这两种格式。

<figure>

<link rel="stylesheet" type=text/css href="path/to/stylesheet.css">
<script type="text/javascript" src="path/to/script.js"></script>

13.视频预载 (Preload attribute in Videos element)

当用户访问页面时这一属性使得视频得以预载。为了实现这个功能,可以在<video>元素中加上preload="preload"或者只是preload。

<video preload>

<img src="path/to/image" alt="About image" />

在HTML5中,不再需要type属性了,因为这显得有点多余,去掉之后可以让代码更为简洁。

14.显示控制条 (Display Controls)

如果你使用过上面的每一个提到的技术点,你可能已经注意到,使用上面的代码,视频仅仅显示的是张图片,没有控制条。为了渲染出播放控制条,我们必须在video元素内指定controls属性。

<figcaption>

代码如下:

15.正规表达式 (Regular Expressions)

在HTML4或XHTML中,你需要用一些正规表达式来验证特定的文本。而HTML5中新的pattern属性让我们能够在标签处直接插入一个正规表达式。

<form action="" method="post">

<label for="username">Create a Username:</label>

<input type="text" name="username" id="username" palceholder="4 <> 10" pattern="[A-Za-z]{4,10}" autofocus required>

<button type="submit">Go</button>

</form>

<p>This is an image of something interesting. </p>

<link href="path/to/stylesheet.css">
<script src="path/to/script.js"></script>

</figcaption>

5. 是否使用双引号 这有点让人纠结,HTML5并不是XTHML,你可以省去标签中的双引号。相信大多数同志也包括我都习惯了加上双引号,因为这让代码看起来会更标准。不过,这可以根据你的个人喜好来确定是到底要不要双引号。

</figure>

代码如下:

  1. 重新定义<small>

<h6 id="someid" class="myclass"> start the reactor. </h6>

原来你可以利用<small>元素来创建与logo密切相关的副标题。不过,现在HTML5修改了这个用法,<small>元素被重新定义了,或者更恰当地说,它现在用来代表小字或其他边注(如,网站底部的版权声明)。

6. 使网页内容可以编辑
澳门新萄京官方网站 2
7. 电子邮件输入框
HMTL5中新增了一个输入框的电子邮件属性,可以检测输入的内容是否符合电子邮件的书写格式,功能越来越强大了吧,在HTML5之前只能依靠JS来检测。虽然内置的表单验证功能很快就会成为现实,但这个属性很多浏览器都还不支持,只会当作普通的文本输入框来处理。

  1. 不再需要脚本、链接类型

代码如下:

很可能你仍然像下面的代码一样给你的链接和脚本标签添加类型的属性。

<form method=get>
<label for="email">email:</label>
<input id="email" type="email" name="email">
<button type="submit"> submit form </button>
</form>

<link rel="stylesheet" href="path/to/stylesheet.css" type="text/css" />

澳门新萄京官方网站 3
到目前为止,包括现代浏览器在内都不支持该属性,所以这个属性暂时还是靠不住的。
8. 占位符
文本框中的占位符(看看本博的搜索框效果)有利于提升用户体验,之前,我们只能依靠JS来实现占位符的效果,在HTML5中新增了占位符属性placeholder。

<script type="text/javascript" src="path/to/script.js"></script>

代码如下:

在HTML5中,这已经不再需要了。 意味着说这两个标签分别代表着样式和脚本。因此,我们可以将它们的类型属性都删除掉。代码如下:

<input type="email" name="email" placeholder="[email protected]">

<link rel="stylesheet" href="path/to/stylesheet.css" />

同样,目前的主流现代浏览器对该属性的支持不大好,暂时只有Chrome和Safari支持该属性,Firefox和Opera不支持该属性。
澳门新萄京官方网站 4
9. 本地存储
HTML5的本地存储功能,可以让现代浏览器“记住”我们输入的,就算浏览器关闭和刷新也不会受影响。虽然这个功能有些浏览器不支持,但是IE8, Safari 4, 还有 Firefox 3.5还是支持这个功能的,你可以测试下。
澳门新萄京官方网站 5
10. 更有语义的header和footer
下面的代码在HTML5中将不复存在

<script src="path/to/script.js"></script>

代码如下:

  1. 使用还是不使用引号

<div id=header>
...
</div>
<div id=footer>
...
</div>

记住,HTML5与XHTML不同,如果你不喜欢的话你不必用引号将属性包裹起来。不过,要是你觉得用引号会让你觉得更加舒服的话,当然也不会有任何问题。

通常我们都会给header和footer定义一个div,然后再添加一个id,但是在HTML5中可以直接使用<header>和<footer>标签,所以可以将上面的代码改写成:

<p class=myClass id=someId> Start the reactor.

代码如下:

  1. 使你的内容可编辑

<header>
...
</header>
<footer>
...
</footer>

HTML5其中一个非常强大的功能就是"contenteditable",顾名思义它将允许用户编辑元素(包括他的子元素)内包含的任何文本内容。它的用途非常广,如,简单的任务清单或是基于wiki的站点也非常实用,此外,它还有一个优势就是利用了本地的存储。

要注意不要将这两个标签和网站的头部和页脚混淆起来,它们只是代表它们的容器。
11. IE对HTML5的支持
IE浏览器目前对HTML5的支持并不好,也是阻碍HTML5的更快普及的一大绊脚石,不过,IE9对HTML5的支持度还是很不错的。
IE把HTML5新增的标签都解析成内联元素,而实际上它们是块级元素,所以有必要为它们定义一个样式:

<!DOCTYPE html>

代码如下:

<html lang="en">

header, footer, article, section, nav, menu, hgroup {
display: block;
}

<head>

尽管如此,IE还是不能解析这些新增的HTML5标签,这个时候就需要借助Javascript来解决这个问题:

<meta charset="utf-8″>

代码如下:

<title>untitled</title>

document.createElement("article");
document.createElement("footer");
document.createElement("header");
document.createElement("hgroup");
document.createElement("nav");
document.createElement("menu");

</head>

你可以借助这一段Javascript代码来修复IE更好的解析HTML5

<body>

代码如下:

<h2> To-Do List </h2>

<script mce_src=";

<ul contenteditable="true">

12. 标题群( hgroup) 这个类似于第二点技巧。如果用h1和h2标签分别表示网站的名称和副标题,但这会让两个本义上密切相关的标题并没有关联起来。这个时候可以使用<hgroup>标签将它们组合起来,这样代码会更有语义。

<li> Break mechanical cab driver. </li>

代码如下:

<li> Drive to abandoned factory

<header>
<hgroup>
<h1> Recall Fan Page </h1>
<h2> Only for people who want the memory of a lifetime. </h2>
</hgroup>
</header>

<li> Watch video of self </li>

13. 必填项属性
前端人员肯定做过不少表单验证的项目,其中很重要的一点就是有些输入框的内容是必须填写的,这里就需要使用Javascript来检查。在HTML5中,新增了一个“必须填写”的属性:required。required属性有两种使用方法,第二种方法显得更有结构性,而第一种更简洁。

</ul>

代码如下:

</body>

<input type="text" name="someInput" required>
<input type="text" name="someInput" required="required">

</html>

有了这个属性,使表单的提交验证变得更简单了,看看下面简单的例子:

  1. 电子邮件输入

代码如下:

如果我们应用"电子邮件"类型来指定输入的形式,我们可以命令浏览器只允许符合有效电子邮件地址结构的字符串输入。虽然说内置的表单验证很快就会到来,但是我们也不能完全依靠这个。比较旧的浏览器不理解这种"电子邮件"类型,它们只会简单地返回到普通的文本框。

<form method=post>
<label for=someInput> your name: </label>
<input id=someInput type=text name=someInput placeholder="Douglas Quaid" required="required">
<button type="submit">Go</button>
</form>

<!DOCTYPE html>

澳门新萄京官方网站 6
如果输入框为空,表单将无法提交成功。
14. 自动获取焦点
同样的,HTML5也不再需要Javascript来解决输入框的自动获取焦点,如果某个输入框应当被选择或是获取到输入焦点,HTML5新增了自动获取焦点属性autofocus:

<html lang="en">

代码如下:

<head>

<input type="text" name="someInput" placeholder="douglas quaid" required="required" autofocus="autofocus">

<meta charset="utf-8″>

autofocus也同样可以写成”autofocus=autofocus”,这样看起来标准些,这个根据自己的个人喜好而定。
15. 音频播放的支持
HTML5中提供了<audio>标签,解决了以往必须依靠第三方插件才能播放音频文件的问题。目前为止,还只有少数的最新浏览器支持该标签。

<title>untitled</title>

代码如下:

</head>

<audio controls="controls" autoplay="autoplay">
<source src="file.ogg" _fcksavedurl=""file.ogg"" />
<source src="file.mp3" />
<a href="file.mp3">Download this file.</a>
</audio>

<body>

为什么会有两种格式的音频文件?因为Firefox和Webkit浏览器所支持的格式存在差异,Firefox只能支持.ogg文件,而Webkit只支持.mp3的文件,解决的办法就是创建两个版本的音频文件,这样就可以兼容Firefox和Webkit的浏览器了,需要注意的是IE不支持该标签。
16. 视频播放的支持 和<audio>标签一样,HTML5也提供了<video>标签对播放视频文件的支持。YouTube也宣布了一项新的HTML5的视频嵌入。不过有点遗憾,HTML5的规范并没有指定特定的视频解码器,而是让浏览器自己来决定。这就造成了个浏览器的兼容问题,虽然Safari和IE9都支持还H.264格式的视频( Flash 播放器可以可以播放),Firefox和Opera则支持开源的Theora和Vorbis格式。因此,当显示HTML5视频的时候,也得准备2种格式。

<form action="" method="get">

代码如下:

<label for="email">Email:</label>

<video controls preload>
<source src="cohagenPhoneCall.ogv" type="video/ogg"; codecs='vorbis, theora'" />
<source src="cohagenPhoneCall.mp4" type="video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" />
<div> your browser is old. <a href="cohagenPhoneCall.mp4">download this video instead.</a> </div>
</video>

<input id="email" name="email" type="email" />

需要注意的是,type属性虽然可以省略掉,但是如果加上的话,浏览器就可以更快的准确的解析该视频文件。并不是所有的浏览器都支持HTML5的视频,所以得做好使用Flash版本来代替,当然,这个决定权在于你。
17. 预加载视频
预加载属性:preload,首先要确定是否需要预先加载视频,假如,访客在访问一个有很多视频展示的页面,那么就有必要预先加载一段视频,这样可以节省访客的等待时间,提高用户体验。你可以给<video>标签添加一个preload属性来实现预先加载的功能。

<button type="submit"> Submit Form </button>

<video preload="preload">
 ...
</video>
[/code]

</form>

18. 显示控件 显示控件属性可以给视频添加一个播放暂停的控件,需要注意的是每个浏览器显示的效果可能会有些差异。

</body>

代码如下:

</html>

<video controls="controls" preload="preload">
...
</video>

在说到浏览器所支持和不支持的元素以及属性时,你必需知道当前所有浏览器都不是那么可靠。例如,Opera只有在你指定name属性时才支持电子邮件验证。不过,它不支持占位符属性(下面即将要讲到的)。最后,虽然你可以使用这种形式的验证,不过不要过分依赖它。

19. 使用正则表达式
在HTML5中,我们可以直接使用正则表达式。
<form method=post action="">
    <label for="username">create a username: </label>
<input id="username" type="text" name="username" placeholder="4 <> 10" required="required" autofocus="autofocus" pattern="[A-Za-z]{4,10}">
    <button type="submit">Go </button>
</form>

 

20. 检测浏览器对HTML5属性的支持
由于各浏览器对HTML5属性的支持度不同,这就造成了一些兼容问题。但是可以使用方法来检测该浏览器是否支持这些属性,上例中的代码如果要检测pattern属性是否被浏览器识别,可以使用Javascript代码来检测。

  1. 占位符(IE9不支持)

代码如下:

此前,我们需要使用JavaScript来创建文本框的占位符。你可以初步设定值属性来看是否合适,但是只要用户删除了该文本,输入的内容就会再次变成空的。占位符属性有效地弥补了这一点。

alert( 'pattern' in document.createElement('input') ) // boolean;

<input name="email" type="email" placeholder="[email protected]" />

其实这是确定浏览器兼容常用的方法,jQuery库就经常使用这种方法。上面的代码中创建了一个input标签,并检测pattern属性是否被浏览器支持,如果能支持的话,浏览器就支持这个功能,否则就不支持。

  1. 本地存储

代码如下:

多 亏了HTML5的 local storage ,我们可以让高级浏览器"记住"我们输入的内容,就算后来浏览器关闭或者重新刷新也不受影响。尽管不是所有的浏览器都支持,但是最关键的 Internet Explorer 8, Safari 4, Firefox 3.5.都支持。

<script>
if (!'pattern' in document.createElement('input') ) {
// do client/server side validation
}
</script>

 

21. Mark标签 <mark>标签用于高亮显示那些需要在视觉上向用户突出其重要性的文字,包裹在此标签里的字符串必须与用户当前的行为相关。例如,如果我在一些博客中搜索“Open your Mind” ,我可以使用在<mark>标签里使用JavaScript 来包裹每一次动作。

  1. 语义性的Header和Footer(同div 块元素)

代码如下:

<div id="header">...</div>

<h3> search results </h3>
<h6> They were interrupted, just after Quato said, <mark>"Open your Mind"</mark>. </h6>

<div id="footer">..</div>

22. 该如何正确的使用div标签
有些人可能会有疑问,有了<header>和<footer>等这些标签,<div>标签在HTML5中还有用吗?答案是肯定的,比如你想创建一个能包裹特殊内容的容器自由灵活的<div>肯定是首选,而你要创建一篇文章或者一个导航菜单,建议你使用更有语义的<article>和<nav>标签。
很多人认为HTML5可能还是很遥远的事,所以直接无视,其实不然,现在很多网站都已经开始使用HTML5了,事实上,HTML5的一些新增属性和功能是让代码变得更简洁,这总归是一件好事,应该值得我们推崇。最后感谢你阅读了这篇HTML5的入门级文章,希望能为你进一步学习HTML5提供一些帮助。

上面的代码一去不复返。Div从根本上来说并没有任何语义结构,即使应用上了ID还是如此。而在HTML5中,我们可以使用<header>和<footer>元素,上面的代码就可以替换为:

<header></header>

<footer></footer>

不过注意不要将这两个元素与网站的头部和脚部混淆起来。它们只是代表它们的容器。

  1. IE和HTML5(兼容性显示统一设置块元素及获取)

IE理解新的HTML5元素需要费一定的神,为了确保新的HTML5元素能够以块级元素正确显示,有必要将它们用下面的代码定义风格:

header, footer, article, section, nav, menu, hgroup {

 

display: block;

 

}

就算如此,IE还是不知道这些元素究竟是什么,因而会无视这些格式,还需要用到下面的代码来解决这个问题:

document.createElement("article");

document.createElement("footer");

document.createElement("header");

document.createElement("hgroup");

document.createElement("nav");

document.createElement("menu");

  1. 群组标题(hgroup)

假 设一个网站有名称、副标题分别用<h1>、<h2>标签来标记,在HTML4中还没有一种能够将两者之间的关系用很好的语义关系 来描述的方法,此外,当使用h2在页面中显示其它标题时,在层级方面问题就更多。而使用群组标题hgroup元素,我们可以将这些标题聚集在一起,而不影 响文档的整个纲要。

<header>

<hgroup>

<h1> Recall Fan Page </h1>

<h2> Only for people who want the memory of a lifetime. </h2>

</hgroup>

</header>

13.必要(Required)属性(IE9不支持)

表单允许新的必要属性,规定是否某个特定的输入是必要的。你可以依据自己写代码的偏好,用下面两种不同方式来声明这个属性:

<input type="text" name="someInput" required>

或者,更严谨:

<input type="text" name="someInput" required="required">

上面两行代码都行得通。用了这行代码之后,并且浏览器支持required属性的话, 输入空白的表单就不会被提交。下面是一个简单的例子,同时我们也添加了占位符属性:

<form method="post" action="">

<label for="someInput"> Your Name: </label>

<input type="text" id="someInput" name="someInput" placeholder="Douglas Quaid" required>

<button type="submit">Go</button>

</form>

如果输入是空的,表单将无法提交,突出显示文本框。

  1. 自动对焦(Autofocus)属性(IE9不支持)

同样地,有了HTML5就不再需要用JavaScript方案来解决自动对焦的问题。如果某个输入应该被"选择"或被聚焦,我们现在可以使用HTML的自动对焦autofocus属性。

<input type="text" name="someInput" placeholder="Douglas Quaid" required autofocus>

  1. 音频支持

我们再也不需要依靠第三方插件来提供音频了。HTML5提供了音频元素<audio>。目前,只有最新的浏览器支持HTML5音频。 此时,最好还是提供一些向后兼容性。

<audio autoplay="autoplay" controls="controls">

<source src="file.ogg" />

<source src="file.mp3″ />

<a href="file.mp3″>Download this file.</a>

</audio>

说 道音频格式,Mozilla和Webkit都还没有完全支持。Firefox希望看到一个 .ogg文件,Webkit浏览器只支持最常见的.mp3扩展名。这意味着说,至少目前为止,你应该创建两个版本的音频。当Safari加载页面时,它认 不出.ogg格式的文件,将会跳过并移到mp3版本上。请注意,IE并不支持它,Opera 10 或更低的版本只支持 .wav文件。

 

  1. 视频支持

音 频元素 <audio>非常像,在新的浏览器上也支持HTML5视频。事实上,就在最近YouTube宣布了一项新的 HTML5视频嵌入。可惜的是,由于HTML5说明文件并没有为视频指出某个特定的编码器,所以都主要取决于浏览器来决定了。尽管Safari和IE9可 以支持H.264 格式的视频,Firefox 和Opera却仍然坚持Theora 和Vorbis格式。因此,显示HTML5视频的时候,你必须提供两种格式。

  1. 视频预先加载

你首先需要决定是否需要浏览器来预先加载视频。是否有需要?假设,一个访客进入某个专门用来显示视频的页面,那么就非常有必要预先加载这个页面节省一点等待的时间。你可以通过设置 preload="preload"来预先加载视频,或者之间添加preload也可以。

<video preload>

</video >

  1. 显示控件

你可能已经注意到,用上面的代码的话,视频将只会显示成一个图片,而没有任何可控制的元件。为了获取这些播放控件,我们必需在视频元素里指定这些控件属性。

<video preload controls>

</video >

  1. 正则表达式

对亏了新模式的属性,我们可以直接在代码中插入一个正则表达式。

<form method=post action="">

<label for="username">create a username: </label>

<input id="username" type="text" name="username" placeholder="4 <> 10″ required="required" autofocus="autofocus" pattern="[A-Za-z]{4,10}">

<button type="submit">Go </button>

</form>

如果你比较熟悉正则表达式的话就会注意到这个新模式: [A-Za-z]澳门新萄京官方网站,{4,10}只接受大小写字母。这个字符串最少必需有四个字符,最多是十个字符。

  1. 检测浏览器对属性的支持

前 面提到过并非所有的浏览器都支持这些属性,那是否有什么方法能够判断浏览器是否能够识别它们呢?这个问题问得非常好,这里给大家介绍两种方式,第一个选择 是使用Modernizr来检测,或者你也可以创建并剖析这些元素来看看浏览器都有什么能力。例如,在前面的例子里,如果我们要确定浏览器是否能够执行 pattern属性,就可以在页面上添加JavaScript:

alert( 'pattern' in document.createElement('input') ) // boolean;

实际上,这是确定浏览器兼容性的一种非常常用的方法。jQuery库利用了这个技巧。上面的代码里,我们创建了一个新的输入元素,并确认pattern属性是否能够被识别。如果能够识别的话,浏览器就支持这个功能,否则就不支持。

<script>

if (!'pattern' in document.createElement('input') ) {

// do client/server side validation

}

</script>

记住,这将需要依靠 JavaScript来实现!

  1. Mark元素www.2cto.com

<mark> 元素的主要功能就是在页面中高亮显示那些需要在视觉上向用户突出其重要性的文字。包裹在此标签里的字符串必须与用户当前的行为相关。例如,如果我在一些博 客中搜索"Open your Mind" ,我可以使用在<mark>标签里使用JavaScript 来包裹每一次动作。

<h3> search results </h3>

<h6> They were interrupted, just after Quato said, <mark>"Open your Mind"</mark>. </h6>

  1. 何时使用<div>

是 否还需要使用<div>标签呢?当然需要。例如,如果你想在一个元素里将一段代码包裹住,特别是为了内容的定位,<div> 将会是非常理想的选择。不过,如果不是上述情况而是要包裹博客文章、或者页脚的链接列表,建议你分别使用 <article>和<nav>元素。

 

. 新的文档类型(Doctype) !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN 上面这个既麻烦又难记的...

本文由澳门新萄京官方网站发布于澳门新萄京赌场网址,转载请注明出处:澳门新萄京官方网站关于HTML5的22个初级技巧,开

关键词: