[转] [HTML5] HTML5开发入门--第2回 使用HTML5标记的基础知识

http://bbs.9ria.com/viewthread.php?tid=80354&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000

 

资讯类型: 翻译 来源页面: http://www.atmarkit.co.jp/fwcr/design/benkyo/html5appli02/01.html 资讯原标题: HTML5“とか”アプリ開発入門 -- 第2回 HTML5でWebページをマークアップするための基礎知識 资讯原作者: 白石俊平 翻译词数: 3676 词

我的评论: 
对这篇文你有啥看法,跟贴说说吧!欢迎口水和板砖,哈哈。欢迎大家和我们一同分享更多资讯。

本帖最后由 flashjerry 于 2011-4-15 14:35 编辑

第2回
使用HTML5标记的基础知识 

 你知道吗?HTML5语法发生了变化
    在连载第1回《何为HTML5》中,讲到了HTML5技术革新的意义和本连载的解说安排。
    本回就来谈谈HTML5标记语言的基础知识。

    HTML5中,语法发生了很大的变化。或许有人会抱着异常惊讶和不安地问“HTML普及到何种程度啊?”、“根本的语法发生了变化,会有多大影响啊?”
    只是,HTML5的“语法变化”和其它编程语言所谓的语法变更意义有所不同。为何这么说呢?原因比较特殊,是因为以前的HTML,遵循规范实现的Web浏览器几乎没有。


 现有浏览器与规范背离
    HTML原本是通过SGML(Standard Generalized Markup Language)元语言来规定语法的。但是由于SGML的语法非常复杂,文档结构解析程序开发也不太容易,多数Web浏览器不作为SGML解析器运行。由此,HTML规范中虽然要求“应遵循SGML的语法”,但实际情况却是遵循规范的实现(Web浏览器)几乎不存在。


 规范向实现靠拢
    如上回所述,HTML5中,提高Web浏览器间的兼容性也是重大的目标之一。要确保兼容性,必须消除规范与实现的背离。因此HTML5以近似现有的实现,重新定义了新的HTML语法,即使规范向实现靠拢。
    由于文档结构解析的算法也有着详细的记载,使得Web浏览器厂商可以专注于遵循规范去进行实现工作。在新版本的FireFox和WebKit(Nightly Builder版)中,已经内置了遵循HTML5规范的解析器。IE(Internet Explorer)和Opera也为了提供兼容性更好的实现而紧锣密鼓地努力着。



 使用HTML5标记前的设置也发生了变化
    那么,下面就来看看使用HTML5新语法来进行标记的方法。

 ContentType
    首先,HTML5文件的扩展名和ContentType没有发生变化。即扩展名还是“.html”或“.htm”,ContentType还是“.text/html”。

 DOCTYPE声明
    要使用HTML5标记,必须先进行如下的DOCTYPE声明。不区分大小写。Web浏览器通过判断文件开头有没有这个声明,让解析器和渲染类型切换成对应HTML5的模式。
  1. <!DOCTYPE html>
复制代码

    不过有的工具不能很好地处理DOCTYPE声明。对于这种工具,也提供了如下声明方式,即在DOCTYPE声明中加上SYSTEM标识。(不区分大小写。此外还可将双引号换为单引号来使用)
  1. <!DOCTYPE HTML SYSTEM "about:legacy-compat">
复制代码


 字符编码的设置

    字符编码的设置方法也有些新的变化。以前,设置HTML文件的字符编码时,要用到如下<meta>元素。
  1. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
复制代码

 在HTML5中,可以使用<meta>元素的新属性charset来设置字符编码。
  1. <meta charset="UTF-8">
复制代码

    以上两种方法都有效。因此也可以继续使用前者的方法(通过content属性来设置)。但要注意不能同时使用。
    我曾在某个网站上看到过如下代码,请注意这是不正确的。

  1. <!-- 不能混合使用charset属性和http-equiv属性 -->
  2. <meta charset="UTF-8" http-equiv="Content-Type" content="text/html;charset=UTF-8">
复制代码

    从HTML5开始,文件的字符编码推荐使用UTF-8。


 HTML5语法中需要掌握的3个要点
    HTML5中规定的语法,在设计上兼顾了与现有HTML之间最大程度的兼容性。
    例如,在Web上充斥着“<p>没有结束标签”等HTML现象。HTML5不将这些视为错误,反而采取了“允许这些现象存在,并明确记录在规范中”的方法。
    因此,尽管与XHTML相比标记比较简洁, 而在遵循HTML5的Web浏览器中也能保证生成相同的DOM。
    那么下面就来看看具体的HTML5语法。

 【1】可以省略标签的元素
    在HTML5中,有些元素可以省略标签。
    具体来讲有3种情况,请看如下列表: 
        ① 必须写明结束标签
             area、base、br、col、command、embed、hr、img、input、keygen、link、meta、param、source、track、wbr 
             只须标记空元素标签“/>”。
            例如: “<br></br>”的写法是错误的。应该写成“</br>”。当然,沿袭下来的“<br>”这种写法也是允许的                       

        ② 可以省略结束标签 
              li、dt、dd、p、rt、rp、optgroup、option、colgroup、thead、tbody、tfoot、tr、td、th

        ③ 可以省略整个标签(即连开始标签都不用写明) 
              html、head、body、colgroup、tbody 
              需要注意的是,虽然这些元素可以省略,但实际上却是隐式存在的。
              例如: “<body>”标签可以省略,但在DOM树上它是存在的,可以永恒访问到“document.body”。

    上述列表中也包括了HTML5的新元素。有关这些新元素的用法,将在本系列的后续文章中加以说明,敬请关注。

 【2】取得boolean值的属性
    取得布尔值(Boolean)的属性,例如disabled和readonly等,通过省略属性的值来表达“值为true”。如果要表达“值为false”,则直接省略属性本身即可。
    此外,在写明属性值来表达“值为true”时,可以将属性值设为属性名称本身,也可以将值设为空字符串。
    请看下例:
  1. <!-- 以下的checked属性值皆为true --><input type="checkbox" checked><input type="checkbox" checked="checked"><input type="checkbox" checked="">
复制代码


 【3】省略属性的引用符

    设置属性值时,可以使用双引号或单引号来引用。
    HTML5语法则更进一步,只要属性值不包含空格、“<”、“>”、“'”、“"”、“`”、“=”等字符,都可以省略属性的引用符。
 请看下例。
  1. <!-- 请观察type属性的引用符 -->
  2. <input type="text">
  3. <input type='text'>
  4. <input type=text>
复制代码



 如何验证是否遵循HTML5语法?
    接下来,我们以上面学到的HTML5语法为基础,来做一些实例吧。

    以下是纯粹的HTML5文档示例。省略了<html>、<head>、<body>等属性,使用了HTML5的DOCTYPE声明,通过<meta>元素的charset属性设置字符编码,省略<p>元素的结束标签,<meta>元素和<br>元素以“/>”结尾等。以此来复习一下今天学到的知识点吧。
  1. <!DOCTYPE html>
  2. <meta charset=UTF-8 />
  3. <title>HTML5标记示例</title>
  4. <p>这个HTML是遵循HTML5语法<br/>标记的。
复制代码


    为了确认以上标记是否正确,可以使用W3C Markup Validation Service进行验证。出现下图结果,可以确认符合HTML5标记。





 HTML5解析器使SVG更为平易近人
    随着HTML5解析器的标准化,根据遵循HTML5语法的标记,可望生成相同的DOM。   
    
此外,能够在HTML内部直接使用SVG(Scalable Vector Graphics:基于XML的图形格式)和Math ML(Math Markup Language:表现数学公式的标记语言)也是Web浏览器内置HTML5解析器的一大优点。
    这些语言原来都是基于XML的,本来应与HTML相斥,但通过规范上的特别处理,规定了在HTML上不用做任何工作就能直接使用它们。
    如下所示,<svg>标签之间的内容在装有HTML5解析器的Web浏览器上可以被直接解释为SVG,将图形显示出来。
  1. <<!DOCTYPE html>
  2. <html>
  3.   <svg>
  4.     <path
  5.       d="M 20 20 L 60 20 L 40 60 z"
  6.       fill="green"
  7.       stroke="red"
  8.       stroke-width="3" />
  9.   </svg>
  10. </html>
复制代码

 试试看在支持SVG的Firefox 4或IE 9 Beta中打开以上HTML文件。应该会显示被红框包围着的绿色三角形。



    有关SVG的具体信息,在本篇就不多加阐述了。将来还是在本连载中展开说明。


 下回预告!HTML5的新元素!
    本篇讲解了HTML5标记的基本语法。
    下回,我们再来谈谈XHTML和HTML5之间的关系,以及HTML5的新元素。敬请期待吧^_^
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于微信小程序的家政服务预约系统采用PHP语言和微信小程序技术,数据库采用Mysql,运行软件为微信开发者工具。本系统实现了管理员和客户、员工三个角色的功能。管理员的功能为客户管理、员工管理、家政服务管理、服务预约管理、员工风采管理、客户需求管理、接单管理等。客户的功能为查看家政服务进行预约和发布自己的需求以及管理预约信息和接单信息等。员工可以查看预约信息和进行接单。本系统实现了网上预约家政服务的流程化管理,可以帮助工作人员的管理工作和帮助客户查询家政服务的相关信息,改变了客户找家政服务的方式,提高了预约家政服务的效率。 本系统是针对网上预约家政服务开发的工作管理系统,包括到所有的工作内容。可以使网上预约家政服务的工作合理化和流程化。本系统包括手机端设计和电脑端设计,有界面和数据库。本系统的使用角色分为管理员和客户、员工三个身份。管理员可以管理系统里的所有信息。员工可以发布服务信息和查询客户的需求进行接单。客户可以发布需求和预约家政服务以及管理预约信息、接单信息。 本功能可以实现家政服务信息的查询和删除,管理员添加家政服务信息功能填写正确的信息就可以实现家政服务信息的添加,点击家政服务信息管理功能可以看到基于微信小程序的家政服务预约系统里所有家政服务的信息,在添加家政服务信息的界面里需要填写标题信息,当信息填写不正确就会造成家政服务信息添加失败。员工风采信息可以使客户更好的了解员工。员工风采信息管理的流程为,管理员点击员工风采信息管理功能,查看员工风采信息,点击员工风采信息添加功能,输入员工风采信息然后点击提交按钮就可以完成员工风采信息的添加。客户需求信息关系着客户的家政服务预约,管理员可以查询和修改客户需求信息,还可以查看客户需求的添加时间。接单信息属于本系统里的核心数据,管理员可以对接单的信息进行查询。本功能设计的目的可以使家政服务进行及时的安排。管理员可以查询员工信息,可以进行修改删除。 客户可以查看自己的预约和修改自己的资料并发布需求以及管理接单信息等。 在首页里可以看到管理员添加和管理的信息,客户可以在首页里进行家政服务的预约和公司介绍信息的了解。 员工可以查询客户需求进行接单以及管理家政服务信息和留言信息、收藏信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值