1. 新的Doctype声明
XHTML的声明太长了,我相信很少会有前端开发人员能手写出这个Doctype声明。
1 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
HTML5的Doctype声明很短,看到这个声明相信你马上就能记住,不用浪费脑细胞去记那长的有点变态的XHTML的Doctype声明了。
HTML5的简短的DOCTYPE声明是让Firefox、Chrome等现代浏览器和IE6/7/8等浏览器都进入(准)标准模式,你可能会奇怪IE6/7居然也可以支持HTML5 Doctype,事实上,IE是只要doctype符合 这种格式,都会进入标准模式。
2. <figure>标签
看看下面一段简单的代码:
1 |
<img src= "path/to/image" alt= "About image" >
|
2 |
<h6>Image of Mars.</h6> |
遗憾的是,这里的h6标签和img标签好像没有什么关系,语义不够明确。HTML5意识到了这一点,于是就采用了<figure>标签。当<figure>结合<figcaption>标签的使用,可以让h6标签和img标签组合起来,代码就更具语义化了。
2 |
<img src= "path/to/image" alt= "About image" >
|
4 |
<h6>This is an image of something interesting. </h6>
|
3. 重新定义<small>
不久前,我使用了<small>标签来创建与logo相关的副标题。但是在HTML5中重新定义了<small>标签,使之更能表现语义化,在<small>的字号都会变小,想想如果这个标签用于网站的底部的版权信息还是个不错的做法。
4. 去掉了Javascript和CSS标签的type属性
通常你会在<link>和<script>加上type属性:
1 |
<link rel= "stylesheet" href= "path/to/stylesheet.css" type= "text/css" >
|
2 |
<script type= "text/javascript" src= "path/to/script.js" ></script>
|
在HTML5中,不再需要type属性了,因为这显得有点多余,去掉之后可以让代码更为简洁。
1 |
<link href= "path/to/stylesheet.css" >
|
2 |
<script src= "path/to/script.js" ></script>
|
5. 是否使用双引号
这有点让人纠结,HTML5并不是XTHML,你可以省去标签中的双引号。相信大多数同志也包括我都习惯了加上双引号,因为这让代码看起来会更标准。不过,这可以根据你的个人喜好来确定是到底要不要双引号。
1 |
<h6 class = "myClass" id= "someId" > Start the reactor. </h6>
|
6. 使网页内容可以编辑
这是HTML5新增的一个功能,在标签中加上一个contenteditable属性,并且设置值为true,就可以直接在页面上编辑这个标签的内容,包括这个标签的子级标签的内容。有了这个属性,你可以利用这个属性完成很多事,比如在网页中编辑一个待办事项的清单。
1 |
<h6 contenteditable= "true" >Break mechanical cab <span>driver</span></h6>
|
7. 电子邮件输入框
HMTL5中新增了一个输入框的电子邮件属性,可以检测输入的内容是否符合电子邮件的书写格式,功能越来越强大了吧,在HTML5之前只能依靠JS来检测。虽然内置的表单验证功能很快就会成为现实,但这个属性很多浏览器都还不支持,只会当作普通的文本输入框来处理。
2 |
<label for = "email" >Email:</label>
|
3 |
<input id= "email" name= "email" type= "email" >
|
4 |
<button> Submit Form </button>
|
到目前为止,包括现代浏览器在内都不支持该属性,所以这个属性暂时还是靠不住的。
8. 占位符
文本框中的占位符(看看本博的搜索框效果)有利于提升用户体验,之前,我们只能依靠JS来实现占位符的效果,在HTML5中新增了占位符属性placeholder。
1 |
<input name= "email" type= "email" placeholder= "doug@givethesepeopleair.com" >
|
同样,目前的主流现代浏览器对该属性的支持不大好,暂时只有Chrome和Safari支持该属性,Firefox和Opera不支持该属性。
9. 本地存储
HTML5的本地存储功能,可以让现代浏览器“记住”我们输入的,就算浏览器关闭和刷新也不会受影响。虽然这个功能有些浏览器不支持,但是IE8, Safari 4, 还有 Firefox 3.5还是支持这个功能的,你可以测试下。
10. 更有语义的header和footer
下面的代码在HTML5中将不复存在
通常我们都会给header和footer定义一个div,然后再添加一个id,但是在HTML5中可以直接使用<header>和<footer>标签,所以可以将上面的代码改写成:
要注意不要将这两个标签和网站的头部和页脚混淆起来,它们只是代表它们的容器。
11. IE对HTML5的支持
IE浏览器目前对HTML5的支持并不好,也是阻碍HTML5的更快普及的一大绊脚石,不过,IE9对HTML5的支持度还是很不错的。
IE把HTML5新增的标签都解析成内联元素,而实际上它们是块级元素,所以有必要为它们定义一个样式:
1 |
header, footer, article, section, nav, menu, hgroup { |
尽管如此,IE还是不能解析这些新增的HTML5标签,这个时候就需要借助Javascript来解决这个问题:
1 |
document.createElement( "article" );
|
2 |
document.createElement( "footer" );
|
3 |
document.createElement( "header" );
|
4 |
document.createElement( "hgroup" );
|
5 |
document.createElement( "nav" );
|
6 |
document.createElement( "menu" );
|
你可以借助这一段Javascript代码来修复IE更好的解析HTML5
12. 标题群( hgroup)
这个类似于第二点技巧。如果用h1和h2标签分别表示网站的名称和副标题,但这会让两个本义上密切相关的标题并没有关联起来。这个时候可以使用<hgroup>标签将它们组合起来,这样代码会更有语义。
3 |
<h1> Recall Fan Page </h1> |
4 |
<h2> Only for people who want the memory of a lifetime. </h2>
|
13. 必填项属性
前端人员肯定做过不少表单验证的项目,其中很重要的一点就是有些输入框的内容是必须填写的,这里就需要使用Javascript来检查。在HTML5中,新增了一个“必须填写”的属性:required。required属性有两种使用方法,第二种方法显得更有结构性,而第一种更简洁。
1 |
<input type= "text" name= "someInput" required>
|
1 |
<input type= "text" name= "someInput" required= "required" >
|
有了这个属性,使表单的提交验证变得更简单了,看看下面简单的例子:
2 |
<label for = "someInput" > Your Name: </label>
|
3 |
<input id= "someInput" name= "someInput" type= "text" placeholder= "Douglas Quaid" required= "required" >
|
如果输入框为空,表单将无法提交成功。
14. 自动获取焦点
同样的,HTML5也不再需要Javascript来解决输入框的自动获取焦点,如果某个输入框应当被选择或是获取到输入焦点,HTML5新增了自动获取焦点属性autofocus:
1 |
<input type= "text" name= "someInput" placeholder= "Douglas Quaid" required= "required" autofocus= "autofocus" >
|
autofocus也同样可以写成”autofocus=autofocus”,这样看起来标准些,这个根据自己的个人喜好而定。
15. 音频播放的支持
HTML5中提供了<audio>标签,解决了以往必须依靠第三方插件才能播放音频文件的问题。目前为止,还只有少数的最新浏览器支持该标签。
1 |
<audio autoplay= "autoplay" controls= "controls" >
|
2 |
<source src= "file.ogg" >
|
3 |
<source src= "file.mp3" >
|
4 |
<a href= "file.mp3" >Download this file.</a>
|
为什么会有两种格式的音频文件?因为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种格式。
1 |
<video controls= "" preload= "" >
|
2 |
<source src= "cohagenPhoneCall.ogv" type= "video/ogg; codecs='vorbis, theora'" >
|
3 |
<source src= "cohagenPhoneCall.mp4" type= "video/mp4; 'codecs='avc1.42E01E, mp4a.40.2'" >
|
4 |
<div> Your browser is old. <a href= "cohagenPhoneCall.mp4" >Download this video instead.</a> </div>
|
需要注意的是,type属性虽然可以省略掉,但是如果加上的话,浏览器就可以更快的准确的解析该视频文件。并不是所有的浏览器都支持HTML5的视频,所以得做好使用Flash版本来代替,当然,这个决定权在于你。
17. 预加载视频
预加载属性:preload,首先要确定是否需要预先加载视频,假如,访客在访问一个有很多视频展示的页面,那么就有必要预先加载一段视频,这样可以节省访客的等待时间,提高用户体验。你可以给<video>标签添加一个preload属性来实现预先加载的功能。
1 |
<video preload= "preload" >
|
18. 显示控件
显示控件属性可以给视频添加一个播放暂停的控件,需要注意的是每个浏览器显示的效果可能会有些差异。
1 |
<video preload= "preload" controls= "controls" >
|
19. 使用正则表达式
在HTML5中,我们可以直接使用正则表达式。
1 |
<form action= "" method= "post" >
|
2 |
<label for = "username" >Create a Username: </label>
|
3 |
<input type= "text" name= "username" id= "username" placeholder= "4 <> 10" pattern= "[A-Za-z]{4,10}" autofocus= "autofocus" required= "required" >
|
4 |
<button type= "submit" >Go </button>
|
20. 检测浏览器对HTML5属性的支持
由于各浏览器对HTML5属性的支持度不同,这就造成了一些兼容问题。但是可以使用方法来检测该浏览器是否支持这些属性,上例中的代码如果要检测pattern属性是否被浏览器识别,可以使用Javascript代码来检测。
1 |
alert( 'pattern' in document.createElement( 'input' ) )
|
其实这是确定浏览器兼容常用的方法,jQuery库就经常使用这种方法。上面的代码中创建了一个input标签,并检测pattern属性是否被浏览器支持,如果能支持的话,浏览器就支持这个功能,否则就不支持。
2 |
if (! 'pattern' in document.createElement( 'input' ) ) {
|
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标签
有些人可能会有疑问,有了<header>和<footer>等这些标签,<div>标签在HTML5中还有用吗?答案是肯定的,比如你想创建一个能包裹特殊内容的容器自由灵活的<div>肯定是首选,而你要创建一篇文章或者一个导航菜单,建议你使用更有语义的<article>和<nav>标签。
本文转载自:http://www.cnblogs.com/keke/archive/2011/06/27/2091125.html
- 大小: 3.5 KB
- 大小: 3.4 KB
- 大小: 8.4 KB
- 大小: 14.1 KB
分享到:
相关推荐
以下是一些HTML5的初级技巧,适合初学者掌握: 1. **新的Doctype声明**:HTML5的Doctype声明简洁明了,只需要`<!DOCTYPE html>`,这使得所有现代浏览器和较旧的IE6/7/8都能进入标准模式,简化了开发者的工作。 2. ...
### HTML5初级技巧详解 随着Web技术的飞速发展,HTML5已经成为网页设计与开发领域不可或缺的一部分。HTML5不仅简化了许多传统标记语言的复杂性,还引入了一系列新特性以提高网页的表现力和交互性。本文将详细介绍...
在本项目示例中,"Accp初级程序员Html5开心网开发总结项目示例"是一个旨在帮助初学者理解和应用HTML5技术的实践项目。这个项目的主要目标是通过使用HTML5和CSS来创建一个类似开心网的网页应用,展示网页设计与开发的...
这个初级入门教程主要涵盖了Canvas的基本概念、使用方式以及一些基本的绘图操作。 首先,Canvas是一个HTML标签,通过`<canvas>`元素在网页中创建一个可绘制的区域。例如: ```html <!-- 向后兼容的内容 --> ``` ...
这个"网页设计必备——html初级教程"包含两个CHM文件:HTML入门与提高.CHM和HTML基础教程.chm,它们将帮助初学者理解并掌握HTML的基本概念和语法。 HTML入门与提高.CHM可能涵盖以下内容: 1. HTML简介:解释HTML的...
【标准HTML5贷款页面】是面向初级前端工程师的学习资源,旨在教授如何利用HTML5技术构建一个完整的贷款服务网站。这个项目包含了贷款首页、列表页、详情页和轮播图等关键元素,是学习Web开发实战技能的理想实例。...
标题中的"Ch5 初级爬虫.rar"表明这是一个关于初级网络爬虫的学习资源,可能包含了一章或一个课程的第五部分的内容。这个压缩包很可能提供了理论知识的讲解以及实践代码示例,帮助初学者理解并掌握网页数据抓取的基本...
这份"web前端开发教材初级源代码.rar"压缩包提供了一套初级学习资源,旨在帮助初学者掌握基本的前端开发技能。下面我们将深入探讨这些模块及其在实际开发中的应用。 01. HTML基础 HTML(HyperText Markup Language...
这个“HTML初级教程”专为入门者设计,旨在帮助初学者快速理解并掌握HTML的基础知识和实践技巧。 首先,HTML的基本结构是由一系列的标签组成的,这些标签告诉浏览器如何呈现网页内容。例如,`<html>`标签定义了整个...
内容概要:本文详细介绍了前端Web开发的基础知识点和技术技巧,涵盖了HTML5、CSS3以及移动Web的相关内容。具体包括Visual Studio Code编辑器的安装配置、HTML的基本语法和结构、常见标签的使用方法及其应用,如标题...
通过这个微课版的PPT课件,学习者不仅可以深入理解HTML5和CSS3的基础知识,还能通过实例掌握实际开发中的技巧和最佳实践,从而成为一名出色的Web前端开发者。这份教学资料是自学或课堂教学的理想资源,帮助学习者...
"1+x 证书 Web 前端开发初级实操考试"是一个针对初学者设计的实践考核,旨在检验学习者在Web前端开发领域的基础技能和理解程度。这个考核可能包括HTML、CSS、JavaScript等核心技术的运用,以及对网页布局、响应式...
本教程旨在为初学者提供一个全面且深入的PHP学习指南,帮助你们掌握这个强大的编程工具。 第一本教程《PHP初级入门热门教程.chm》可能涵盖以下内容: 1. **PHP基础**:介绍PHP的历史、特点以及安装配置环境,如...
《Web初级项目:构建超市管理系统》 ...通过这个"Web初级项目",学习者不仅可以掌握Web开发的基本流程,还能在实践中提升问题解决能力和团队协作技巧,为后续的深入学习和项目开发打下坚实的基础。
这个初级教程针对初学者,旨在帮助他们快速理解和掌握ASP的核心概念与实践技能,实现从入门到精通的转变。 首先,ASP技术的基础是HTML、CSS和JavaScript,但它的优势在于服务器端处理能力。在ASP页面中,可以嵌入...
《雅奇880初级教程_rar - 迅载网盘.htm》这个文件名表明,这是一份以HTML格式存储的在线教程资源,可能包含了文字说明、图片示例和交互式演示。下载并解压后,你可以按照其中的步骤逐步学习,提高你的编程技能。 总...