`
songzhan
  • 浏览: 240175 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

22个html

阅读更多

html5 技巧一:当今科技发展的速度真惊人,稍不留神,就可能无法跟上它的步伐。新一代的HTML-HTML5的发展也不停的带给我们新的惊喜,我们将通过这篇文章向大家介绍一些HTML技巧。

1. 新的文档类型(Doctype)

<!DOCTYPE html PUBLIC ”-//W3C//DTD XHTML 1.0 Transitional//EN”  
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>   
 
上面这个既麻烦又难记的XHTML文档类型你还在使用吗? 如果还是这样的话,现在该切换到新的HTML5文档类型了。  
 
<!DOCTYPE html>  

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

2. 图形(Figure)元素

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

<mg src=http://www.css3-html5.com/HTML5-Tutorial/”path/to/image” alt=”About image” />   
<p>Image of Mars. </p>   

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

<figure>   
<img src=http://www.css3-html5.com/HTML5-Tutorial/”path/to/image” alt=”About image” />   
<figcaption>   
<p>This is an image of something interesting. </p>   
</figcaption>   
</figure>   
 3. 重新定义<small>

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

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

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

  1. <link rel=”stylesheet” href=http://www.css3-html5.com/HTML5-Tutorial/”path/to/stylesheet.css” type=”text/css” />   
  2. <script type=”text/javascript” src=”path/to/script.js”></script>   

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

  1. <link rel=”stylesheet” href=http://www.css3-html5.com/HTML5-Tutorial/”path/to/stylesheet.css” />   
  2. <script src=”path/to/script.js”></script>   

5. 使用还是不使用引号

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

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

6. 使你的内容可编辑

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

  1. <!DOCTYPE html>   
  2. <html lang=”en”>   
  3. <head>   
  4. <meta charset=”utf-8″>   
  5. <title>untitled</title>   
  6. </head>   
  7. <body>   
  8. <h2> To-Do List </h2>   
  9. <ul contenteditable=”true”>   
  10. <li> Break mechanical cab driver. </li>   
  11. <li> Drive to abandoned factory   
  12. <li> Watch Video of self </li>   
  13. </ul>   
  14. </body>   
  15. </html>  

或者,按照第五条技巧所说的,你也可以将第九行的代码写成这样(不用引号):

  1. <ul contenteditable=true>  

7. 电子邮件输入

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

  1. <!DOCTYPE html>   
  2. <html lang=”en”>   
  3. <head>   
  4. <meta charset=”utf-8″>   
  5. <title>untitled</title>   
  6. </head>   
  7. <body>   
  8. <Form action=”" method=”get”>   
  9. <label for=”email”>Email:</label>   
  10. <input id=”email” name=”email” type=”email” />   
  11. <button type=”submit”> Submit Form </button>   
  12. </form>   
  13. </body>   
  14. </html>  

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

8. 占位符

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

  1. <input name=”email” type=”email” placeholder=”xingyuyu27@163.com” />   

9. 本地存储

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


10. 语义性的Header和Footer 

  1. <div id=”header”>   
  2. …   
  3. </div>   
  4. <div id=”footer”>   
  5. …   
  6. </div>   

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

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

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

11. IE和HTML5

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

  1. header, footer, article, section, nav, menu, hgroup {     
  2. display: block;     
  3. }   

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

  1. document.createElement(“article”);   
  2. document.createElement(“footer”);   
  3. document.createElement(“header”);   
  4. document.createElement(“hgroup”);   
  5. document.createElement(“nav”);   
  6. document.createElement(“menu”);   

12. 群组标题(hgroup)

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

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

13.必要(Required)属性

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

  1. <input type=”text” name=”someInput” required>   

或者,更严谨:

  1. <input type=”text” name=”someInput” required=”required”>   

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

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

如果输入是空的,表单将无法提交,突出显示文本框。
14. 自动对焦(Autofocus)属性

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

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

15. 音频支持

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

  1. <audio autoplay=”autoplay” controls=”controls”>   
  2. <source src=http://www.css3-html5.com/HTML5-Tutorial/”file.ogg” />   
  3. <source src=http://www.css3-html5.com/HTML5-Tutorial/”file.mp3″ />   
  4. <a href=http://www.css3-html5.com/HTML5-Tutorial/”file.mp3″>Download this file.</a>   
  5. </audio>   

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

HTML5新特性,何时使用

:如果你想在一个元素里将一段代码包裹住,特别是为了内容的定位,
将会是非常理想的选择。

16. 视频支持

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

17. 视频预先加载

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

  1. <Video preload>   
  2. …  
  3. </video >   

18. 显示控件

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

  1. <video preload controls>   
  2. …  
  3. </video >   

19. 正则表达式

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

  1. <Form method=post action=”">   
  2. <label for=”username”>create a username: </label>   
  3. <input id=”username” type=”text” name=”username” placeholder=”4 <> 10″ required=”required” autofocus=”autofocus” pattern=”[A-Za-z]{4,10}”>   
  4. <button type=”submit”>Go </button>   
  5. </form>   

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

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

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

  1. alert( ’pattern’ in document.createElement(‘input’) ) // boolean;   

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

  1. <script>   
  2. if (!’pattern’ in document.createElement(‘input’) ) {   
  3. // do client/server side validation   
  4. }   
  5. </script>   

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

21. Mark元素

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

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

22. 何时使用<div>

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

分享到:
评论

相关推荐

    22个HTML5实用技巧

    资源名称:22个HTML5实用技巧内容简介:HTML5 技巧一:当今科技发展的速度真惊人,稍不留神,就可能无法跟上它的步伐。新一代的HTML-HTML5的发展也不停的带给我们新的惊喜,我们将通过这篇文章向大家介绍一些HTML...

    22个HTML5 技巧三

    22个HTML5 技巧三:我们继续讲解HTML5的技巧。 16. 视频支持 音频元素非 常像,在新的浏览器上也支持HTML5视频。事实上,就在最近YouTube宣布了一项新的 HTML5视频嵌入。可惜的是,由于HTML5说明文件并没有为视频...

    22个HTML5 技巧二

    22个HTML5 技巧二:上面一章讲到了HTML5的几个技巧,现在我们来学习新的技巧 8. 占位符 此前,我们需要使用JavaScript来创建文本框的占位符。你可以初步设定值属性来看是否合适,但是只要用户删除了该文本,输入的...

    22个HTML5 技巧一

    上面这个既麻烦又难记的XHTML文档类型你还在使用吗? 如果还是这样的话,现在该切换到新的HTML5文档类型了。 &lt;!DOCTYPE html&gt; 现在只要这么简单的15个字符就可以了。(注意:你的doctype的申明需要出现在你html文件...

    22个HTML5 技巧

    HTML5技巧一:当今科技发展的速度真惊人,稍不留神,就可能无法跟上它的步伐。新一代的HTML-HTML5的发展也不停的带给我们新的惊喜,我们将通过这篇文章向大家介绍一些HTML技巧

    HTML期末大作业html+css+div二十个页面以上

    这是我自己做的HTML期末大作业html+css+div二十个页面以上,花了很多时间,不用修改就可以作为自己的作业,也可以作为学习参考html静态网页,里面包含两个html+css+div的代码原件

    计算机毕业设计-高科技产品HTML5网站模板是一款电子产品类企业网站-纯HTML5模板-大站气象-多页面.zip

    关键信息:22个html文件,音乐,毕业设计可用模板,二次开发,大站气象,产品类网站,改一改也可以用来做内容发布,cms。 适用人群:学生,前端工程师,项目经理,软件公司,软件教师,计算机学生 使用场景:个人建...

    22个经典HTML网站项目模板

    22个经典HTML网站后台模板,开发人员必备,站在前人的肩膀上开发

    基于HTML的SSM框架的demo设计源码

    本资源提供了一套基于HTML的SSM框架的demo设计源码,包含74个文件,其中包括22个HTML页面文件,17个Java源代码文件,6个CSS样式文件,以及5个JavaScript脚本文件。此外,还包括4个XML配置文件,4个JPEG图片文件,3个...

    静态网页 221html+css个模板 (22).rar

    静态网页 221html+css个模板 (22)静态网页 221html+css个模板 (22)静态网页 221html+css个模板 (22)静态网页 221html+css个模板 (22)静态网页 221html+css个模板 (22)静态网页 221html+css个模板 (22)静态网页 221...

    静态网页设计期末作业二十四节气HTML静态网页源码.zip

    静态网页设计期末作业二十四节气HTML静态网页源码。期末作业高分项目、95分项目。静态网页设计大作业。 静态网页设计期末作业二十四节气HTML静态网页源码。期末作业高分项目、95分项目。静态网页设计大作业。静态...

    手机页面模版html5源码30个合集.zip

    手机页面模版html5源码30个合集: ‘10【导航看上去不错】越野e族中国越野触屏版手机wap汽车网站模板下载 13【很适合新手】仿亞普達手机wap旅游网站模板下载 (2) 15【很适合新手学习】仿coffee手机wap企业网站模板...

    二十个超酷的WEB2.0菜单特效(HTML)

    二十个超酷的WEB2.0菜单特效(HTML) 很实用 希望大家一起学习一下

    30套移动开发HTML5网站设计模板HTML5网页模板设计素材资料1.zip

    22.健身房锻炼html5模板 23.整洁wordpress主题Bearded 24.白色运动鞋HTML5模板 25.紫色简洁HTML5网站模板 26.淡雅风格HTML5模板Emmeline 27.大气单页html5模版 28.html5单页模版Twenty 29.html5单页模版notebook 3....

    使用DIV+CSS进行网页布局设计【HTML节日介绍网站——二十四节气】

    HTML静态网页设计作业,采用DIV+CSS布局,共有多个页面,使用CSS排版比较丰富,色彩鲜明有活力,顶部导航及底部 区域背景色为100%宽度。都是给学生定制的都符合学生考试期末作业的水平,有的有js,有的视频+音乐+...

    HTML5 全套知识点打包 很值得下载学习

    HTML5 全套知识点打包 很值得下载学习 包含:揭秘HTML5和CSS3.rar 22个HTML5 技巧一.doc 22个HTML5 技巧二.doc 22个HTML5 技巧三.doc 全方位了解HTML5 .doc HTML5设计原理+.doc HTML5高级程序设计(1).pdf 等等

    HTML5可行性调研

    HTML5针对国内移动终端的可行性调研 ...2.13. HTML5 File 22 2.14. 链接预取功能 22 第三章 现有HTML5的应用 23 第四章 HTML5扩展 24 Kaltura HTML5 25 FlareVideo 25 Projekktor 25 第五章 调研总结 25

Global site tag (gtag.js) - Google Analytics