`
songzhan
  • 浏览: 248692 次
  • 性别: 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的实用技巧,帮助你提升开发效率和网页质量。 1. **新的文档类型(Doctype)**:HTML5引入了一个简洁的文档类型声明`&lt;!DOCTYPE html&gt;`,取代了XHTML中的复杂声明,使得文档头部更加简洁易读。 ...

    22个HTML5 技巧一

    ### 22个HTML5 技巧一 #### 1. 新的文档类型(Doctype) 随着HTML5的出现,文档类型声明(Doctype)变得更为简洁。在HTML5之前,开发者通常会使用较为复杂的XHTML Doctype声明,例如: ```html &lt;!DOCTYPE html ...

    22个HTML5 技巧三

    ### 22个HTML5 技巧三:深入解析视频支持与更多高级特性 #### 16. 视频支持 HTML5引入了一系列强大的新特性,其中之一就是原生的视频支持。通过`&lt;video&gt;`标签,开发人员可以直接在网页中嵌入视频内容,无需额外的...

    22个HTML5 技巧二

    ### HTML5 技巧二详解 #### 8. 占位符 占位符属性是HTML5中的一个重要改进,它允许开发人员直接在输入框中设置提示文本,从而提高用户体验。以前,为了实现类似功能,通常需要借助JavaScript来动态设置和清除提示...

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

    这个HTML期末大作业集包含二十个以上的页面,展示了全面的网页布局和设计能力。接下来,我们将详细探讨这三个技术及其在网页制作中的应用。 HTML(HyperText Markup Language)是网页内容的结构语言,它定义了网页...

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

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

    22个经典HTML网站项目模板

    本文将深入探讨22个经典HTML后台模板中的核心知识点,以及如何利用这些模板提高开发效率。 首先,HTML是HyperText Markup Language的缩写,是网页内容的基础结构语言。它通过一系列标签来定义网页的元素和结构,如...

    基于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分项目。静态网页设计大作业。静态...

    基于Python、HTML、JavaScript、CSS的多语言支持聊天机器人设计源码

    该项目是一款基于Python、HTML、JavaScript和CSS的多语言支持聊天机器人设计源码,共包含268个文件,涵盖32个Python脚本、28个PNG图片、25个rst文档、22个txt文本、22个html页面、19个ico图标、15个id文件、14个ttf...

    基于Python、HTML、JavaScript、CSS的多用户并发聊天机器人设计源码

    该项目是一款基于Python、HTML、JavaScript、CSS构建的多用户并发聊天机器人,源码包含268个文件,涵盖32个Python脚本、28个PNG图片、25个rst文档、22个txt文本、22个HTML页面、19个ico图标、15个id标识、14个ttf...

    基于Java语言开发的网络书城HTML+CSS+JavaScript设计源码

    具体包括40个JSP页面、36个Java类文件、24个JAR库文件、22个HTML文件、18个Java源文件、15个图片文件、12个CSS样式文件、9个XML配置文件、5个元数据文件和3个属性文件,共同构成了一个功能完善、界面友好的在线书店...

    基于JavaScript、CSS、HTML及Python的综合性新闻发布网站设计源码

    该项目是一款基于JavaScript、CSS、HTML和Python的综合新闻发布网站设计源码,总文件量为296个,涵盖125个JavaScript文件、40个GIF图片、24个CSS样式表、24个PNG图片、22个HTML文件、21个Python脚本、7个字体文件(....

    基于HTML、JavaScript、CSS的青少赛比赛报名网站设计源码

    其中,包含60个PNG图片文件、29个JPG图片文件、22个HTML文件、17个JavaScript文件、11个CSS文件、6个PDF文件、3个LESS文件、2个Markdown文件、1个.gitignore文件和1个LICENSE文件。该网站专为青少年竞赛报名设计,...

Global site tag (gtag.js) - Google Analytics