申博从零开始平台构建HTML 5 Web页面

申博合作扣9300727 HTML 5是时下Web开发领域炒得火热的一个术语,是的,很多人都看好它,也有很多业内知名公司开始正式使用HTML 5重新构建自己的网站,如YouTube开始使用HTML 5视频,Google已经弃用自家的Gears,开始全面拥抱HTML 5实现离线解决方案,各大浏览器厂家也纷纷开始支持HTML 5,连被人诟病的微软也声称要在IE 9中增加对HTML 5的支持。本文打算为大家详细介绍一下如何构建一个完整的HTML 5 Web页面,以加深对HTML 5的理解。

HTML 5有何不同?

首先我们要明白HTML 5是新的语义结构标记,包括画布,离线存储规范和一些新的内联语义标记,但由于客观原因(主要是浏览器支持的原因),我们不得不限制标记的讨论范围,如画布,离线存储,原生视频或地理定位API等,还不是所有的浏览器都支持。

由于新的HTML 5标记大都是结构性的,它们的行为与块元素有些类似,为了帮助大家加深对HTML 5的理解,我将在下面的内容使用一些新的结构元素。

每个人都应该记住的doctype(文档类型)

要创建HTML 5 Web页面的第一件事情是使用新的doctype,你一定记住了HTML 4或XHTML 1.x的doctype,当我们要从旧的文档通过复制粘贴到新的文档中,必须要修改doctype,请记住,下面就是HTML 5的doctype:


1

<!DOCTYPE html>

还是很容易记住吧,而且也不区分大小写,与现在广泛使用的版本要简单得多了,而且保持了向后兼容。

语义结构

在深入标记前,我们先初略看一下一个Web页面的大致结构吧。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<html>

    <head>

    ...stuff... 

    </head>

    <body>

        <p id="header">

            <h1>My Site</h1>

        </p>

        <p id="nav">

            <ul>

                <li>Home</li>

                <li>About</li>

                <li>Contact</li>

            </ul>

        </p>

        <p id=content>

            <h1>My Article</h1>

            <p>...</p>

        </p>

        <p id="footer">

            <p>...</p>

        </p>

    </body>

</html>

在上面的例子中,我为所有DIV标记增加了ID,相信大多数Web设计师都很熟悉这种做法了,这么做有两个目的,首先,ID提供了一个钩子,通过它可以对页面的特定部分应用样式,其次,ID作为一种原始的,伪语义结构,智能解析器将查找标签上的ID属性,并尝试猜测其含义,但这是一件很困难的事情,因为每个网站的ID可能都不一样。

于是就有了增加新标签的想法,HTML 5的创造者们就设计了一些新的元素,下面我们就来看看HTML 5中新增的一些关键的结构性标记。

◆ <header>

这个标记计划用来描述一节或一个完整Web页面的介绍性信息,<header>标记可以包括所有的通常放在页面头部的标志,如果你在页面中使用了<p id="header">,它将被<header>取代。

◆ <nav>

这个元素的含义就不说了,你的导航元素就放在这里,如主站点导航,但在某些情况下也可能有页面导航元素,HTML 5的创建人WHATWG最近修改了<nav>的解释,展示了如何在一个页面上使用两次.

简单说来,如果你在页面中使用了<p id="nav">标记来容纳导航元素,那么你可以使用<nav>进行替换。

◆ <section>

这个可能是最模糊不清的标记了,按照HTML 5规范的解释,一个section是一个有主题的内容组,前面通常有一个header标记,后面通常跟一个footer标记,如果需要,section也可以嵌套使用。

在我们上面的例子中,标记为“content”的DIV是section的一个很好候选者,在这个section中,根据内容的不同,我们可能有更多的section。

◆ <article>

根据WHATWG的注释,article元素是将section进行打包形成一个文档或网站独立的部分,例如一篇杂志或报纸文章,或一篇博客文章。

记住,在一个页面中可以有多个article元素,例如一个博客首页可能会有10多个article元素,article也可以进入section元素,因此你在嵌套使用时需要小心,可能一不小心就会出错。

◆ <aside>

另一个模糊不清的标记是aside,这个元素表现的是与文档主要文本流无关的内容,也就是相当于一个括号备注,脚注,引用,注释,或者说是类似于侧边栏的东西,根据WHATWG的注释,<aside>可以用于所有这些情况。

◆ <footer>

Footer的含义也非常清楚,它可以用在section中,也可以用于一个页面的底部。

全部放在一起

现在我们全部使用新标记重写前面的示例页面。


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

<!DOCTYPE html>

<html>

    <head>

    ...stuff... 

    </head>

    <body>

        <header>

            <h1>My Site</h1>

        </header>

        <nav>

            <ul>

                <li>Home</li>

                <li>About</li>

                <li>Contact</li>

            </ul>

        </nav>

        <section>

            <h1>My Article</h1>

            <article>

                <p>...</p>

            </article>

        </section>

        <footer>

            <p>...</p>

        </footer>

    </body>

</html>

是不是更干净,更易于理解呢?我们可以把<h1>My Article</h1>打包到header标记中。另外请注意,我们可以在article元素下再增加一个footer元素,用来容纳如翻页导航,相关文章或其它内容。

新标记的样式

在大多数浏览器中,你只需要如往常一样对元素使用样式,但是请一定要对每个元素加上display:block;规则,随着时间的推移,浏览器对HTML 5新元素的支持越来越标准后,就可以不使用了。

下面我们队header应用一些样式:


1

2

3

4

5

header { 

    display: block; 

    font-size: 36px; 

    font-weight: bold; 

}

记住,你现在仍然可以在这些元素上添加class和ID属性,因此,如果你想对导航小节单独使用一个样式,你可以向下面这样增加一个class或ID属性:


1

<nav class="main-menu">

然后再应用一个样式:


1

2

3

nav.main-menu { 

    font-size: 18px; 

}

与旧浏览器的兼容

这些样式都不能在IE 6下使用,如果你坚持要保持与旧浏览器兼容,也是有补救办法的,IE 6可以解析这些标记,但不能应用样式,解决办法就是使用JavaScript,使用createElement方法就可以让IE支持HTML 5标记的样式了,你可以在HTML 5文件的头部包括这段代码,也可以保存到一个独立文件中,然后进行引用。


1

2

3

4

5

6

7

8

<script>  

document.createElement(‘header‘);   

document.createElement(‘nav‘);   

document.createElement(‘section‘);   

document.createElement(‘article‘);   

document.createElement(‘aside‘);   

document.createElement(‘footer‘); 

</script>

你可能要问,为什么没有给这段脚本指定MIME类型呢?在HTML 5中无需指定了,在HTML 5中,所有的脚本都假设是type="text/javascript",因此不必再多此一举了。

虽然IE的问题得到了解决,但据我所知,Firefox 2中的Gecko渲染引擎仍然存在一个bug,解决办法有两个,但这两个办法都不是很理想,考虑到Firefox 2的使用人数已经很少,你可以完全忽视这个bug。

现在你已经可以使用HTML 5了,但应该使用吗?

答案很简单:是的!

但这也要根据网站的性质做出调整,例如,假设你要重构CNN主页,那可能不太现实,最好还是等浏览器的支持更好一些再说,但如果你是在翻新你的博客系统,那么你可以一试,如果你使用的WordPress,目前已经出现了一些插件可以帮助你,这里就有一个HTML 5的WordPress主题。

你也可以去HTML 5画廊(http://html5gallery.com/)瞧瞧,因为它全部是用HTML 5构建的,可以看看其源码,加深对HTML 5标记的理解。还可以继续关注51CTO.com的HTML 5专题,我们会持续更新关于HTML 5的技术应用和资讯报道。

如果你还有点犹豫不决,那你去看看Google的主页,已经是HTML 5了,保险一点的话,你可以使用JavaScript声明这些新标记进行使用。HTML 5的标记远不止这些,希望本文能消除你的疑虑,大胆使用HTML 5,只有使用的人多了,这个规范才能真正见效。

原文地址:https://www.cnblogs.com/hga025/p/9454521.html

时间: 2024-08-25 05:29:19

申博从零开始平台构建HTML 5 Web页面的相关文章

谷歌/微软/必应web页面免费翻译插件

随着网络时代的日益壮大,现在我们经常需要浏览一些各种外语的网页,或者是查阅资料帮助我们解决问题.更多的时候还是头疼在语言障碍上,正所谓"它认识你,你不认识它啊."谷歌和微软两个企业,作为当下科技领域的龙头企业,都有着各自针对翻译的解决方案,而且还非常易用.本文我就像大家介绍一下谷歌/微软/必应这三款web页面翻译工具. v写在前面 很多时候,可能我们web项目中需要的只是机械式的翻译,并不需要什么利用xml或者js json等等实现逼真翻译,那样工作量太大.这时候可能你就需要这几款小工

分离式LAMP平台构建

LAMP平台是常用的动态网站平台,现在很多情况下,因为业务请求的原因需要把Apache服务.Mysql(Mariadb)服务和PHP服务分别使用各自的Linux服务器承载,下面我就总结一下分离式LAMP平台构建过程.(我这边使用的源码编译安装) 一.平台构建准备:     1.Centos 6.6 final系统三个(基础安装,装有包组Development Tools): 192.168.2.3(Apache服务器) 192.168.2.5(PHP服务器) 192.168.2.6(Mariad

SharpGL学习笔记(一) 平台构建与Opengl的hello World

(一)平台构建与Opengl的hello World OpenGL就是3d绘图的API,微软针和它竞争推出D3D,也就是玩游戏时最常见的DirectorX组件中的3d功能. 所以不要指望windows提供对Opengl提供最新的什么支持. C#的开发环境也没有封装Opengl的组件,Opengl的官方的dll是供C,C++开发用的.要想用在C#中你得自己导入DLL函数.但我相信你不会这样做的,还是引入第三方的Opengl库来得方便. SharpGL就是C#用的OpenGL库,之所以选择它,是因为

构建单页Web应用

让我们先来看几个站点: coding(https://coding.net/) teambition(https://www.teambition.com/) cloud9(https://c9.io/) ? 注意这几个站点的相同点.那就是在浏览器中,做了原先"应当"在client做的事情. 它们的界面切换非常流畅,响应非常迅速,跟传统的网页明显不一样,它们是什么呢?这就是单页Web应用. 所谓单页应用.指的是在一个页面上集成多种功能.甚至整个系统就仅仅有一个页面,全部的业务功能都是它

使用HTML5构建下一代的Web Form

HTML语言作为如今编程最为广泛的语言,具有易用.快捷.多浏览平台兼容等特点,但是随着时代的进步,HTML的标准却停滞不前,这一次还在不断开发中的[color=#444444 !important]HTML5标准的更新可以说给这门标记语言带来了新的生命力.本文将着重讨论HTML5中的Web Forms 2.0, 即表单的部分.表单是网页中常见的控件(集).小到网站注册登录,大到一个企业的数据管理系统,都基本上有表单的身影.表单之所以如此重要,主要是因为它担负大量的用户和网页后台数据更新交互的任务

全新SaaS运维监控平台构建书

第一部分 引言 伴随的IT服务的发展,IT服务的概念也在发生着巨大的变化.IT运维服务已经由原来局限在用户自身环境下的IT服务,延伸到覆盖公用云.私有云.外包服务商等多纬度.全天候的SaaS运维模式, 从狭义理解,IT服务仅仅是为了解决信息系统出现的故障,在系统出现停顿的时候可以快速的恢复.而目前的IT服务已经包含了更多的内容,IT服务渗透在信息系统的整个生命周期之中.本文基于该理念,对IT服务系统的实现进行分析研究.文章基于网脊运维通SaaS(Software as aService)模式理念

基于Node.js的ghost开源博客平台

Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:http://blog.csdn.net/yczz/article/details/6938260 第一步: 下载node.js的windows版当前最新版本是http://nodejs.org/dist/v0.5.10/node.exe 第二步:设置环境变量把node.exe所在目录加入到PATH环境

Github 搭建 Hexo 纯静态化个人博客平台

以前一直想搭建一个属于自己的博客平台,有余种种原因一直未能实现,最近闲来无事,参照网上的教程,搭建了属于自己的博客.自己的博客网站,样式自由,不需要受限于各大平台. 本篇为从零开始的基础篇,本篇所包含的内容如下: 安装Git 安装NodeJs 安装hexo 生成SSH并添加到github 部署项目 上传到github 绑定个人域名 修改及配置主题 添加RSS 添加评论 写文章部分 开始 由于本人的电脑在搭建博客之前就有了各种环境,但是对于没有任何基础的人来讲,我觉得还是从源头开始讲会好一点,就像

HTML 5的10个申博合作顶级系列

申博合作扣93007273 HTML5已经成为互联网行业的最新流行语,不少人相信这是Web的未来.即使没有加入该社区的人也承认,HTML5包括了本来应该从一开始的HTML规范中包含的功能.在这篇文章中,我们将告诉你大约10 个HTML5的资源,让您现在开始使用该技术. 1)HTML 5工作草案标准 http://dev.w3.org/html5/spec/Overview.html从W3C至今的第五次修订,向Web开发人员介绍添加的新功能,新元素,定义了更好的用户代理,以提高互操作性. 2)HT