《HTML 5+CSS 3入门经典》——1.3 HTML 5的语法变化和标记方法

简介: 本节书摘来自华章计算机《HTML 5+CSS 3入门经典》一书中的第1章,第1.3节,作者:管媛辉 潘凯华著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.3 HTML 5的语法变化和标记方法

1.3.1 HTML 5的语法变化
HTML 5中,语法发生了很大的变化。或许有人会异常惊讶和不安地问:“HTML普及到何种程度啊?”“根本的语法发生了变化,会有多大影响啊?”
只是,HTML 5的“语法变化”和其他编程语言所谓的语法变更相比,意义有所不同。为何这么说呢?原因比较特殊,是因为以前的HTML,遵循规范实现的Web浏览器几乎没有。
(1)现有浏览器与规范背离
HTML的语法是根据SGML(Standard Generalized Markup Language)规定语法的。但是由于SGML的语法非常复杂,文档结构解析程序的开发也不太容易,多数Web浏览器不作为SGML解析器运行。由此,HTML规范中虽然要求“应遵循SGML的语法”,但实际情况却是遵循规范的实现(Web浏览器)几乎不存在。
(2)规范向实现靠拢
如上所述,提高Web浏览器间的兼容性也是HTML 5重大的目标之一。要确保兼容性,必须消除规范与实现的背离。因此,HTML 5以近似现有的实现重新定义了新的HTML语法,即使规范向实现靠拢。
由于文档结构解析的算法也有着详细的记载,Web浏览器厂商可以专注于遵循规范去进行实现工作。新版本的Firefox和WebKit(Nightly Builder版)中,已经内置了遵循HTML 5规范的解析器。IE(Internet Explorer)和Opera也为了提供兼容性更好的实现而紧锣密鼓地努力着。
1.3.2 HTML 5的标记方法
让我们来看一下HTML 5的标记方法。
(1)内容类型(ContentType)
HTML 5文件的扩展名和内容类型(ContentType)没有发生变化,即扩展名还是“.html”或“.htm”,内容类型(ContentType)还是“.text/html”。
(2)DOCTYPE声明要使用HTML 5标记,必须先进行如下DOCTYPE声明(不区分大小写)Web浏览器通过判断文件开头有没有这个声明,让解析器和渲染类型切换成对应HTML 5的模式。

<!DOCTYPE html>

另外,当使用工具时,也可以在DOCTYPE声明方式中加入SYSTEM标识(不区分大小写)。此外,还可将双引号换为单引号来使用,声明方法如下面的代码:

<!DOCTYPE HTML SYSTEM "about:legacy-compat">

(3)字符编码的设置
字符编码的设置方法也有些新的变化。以前,设置HTML文件的字符编码时,要用到如下
< meta>元素:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

在HTML 5中,可以使用元素的新属性charset来设置字符编码。

<meta charset="UTF-8">

以上两种方法都有效,因此也可以继续使用前者的方法(通过content元素的属性来设置),但要注意不能同时使用,如下所示:

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

注意 从HTML 5开始,文件的字符编码推荐使用UTF-8。
1.3.3 标记实例
本小节,我们将通过前面所学到的HTML 5的语法知识来看一个关于HTML 5标记的实例。
【例1.1】 以下是纯粹的HTML 5文档实例,省略了< html>、< head>、< body>等属性,使用了HTML 5的DOCTYPE声明,通过< meta>元素的charset属性设置字符编码,省略了< p>元素的结束标签,< meta>元素和< br>元素以“/>”结尾等。实例位置:光盘MR源码第1章1.1实例代码如下所示。

<!DOCTYPE html>
<meta charset=UTF-8 />
<title>HTML 5标记示例</title>
<p>这个HTML是遵循HTML 5语法
<br/>编写出来的。

这段代码在IE 9浏览器中的运行结果如图1.1所示。image

相关文章
|
2月前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
65 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
3月前
|
人工智能 程序员 UED
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
170 21
【01】完成新年倒计时页面-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
3月前
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
79 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
3月前
css3 svg制作404页面动画效果HTML源码
css3 svg制作404页面动画效果HTML源码
79 34
|
3月前
html+js+css实现的建筑方块立体数字时钟源码
html+js+css实现的建筑方块立体数字时钟源码
120 33
|
4月前
一个好看的小时钟html+js+css源码
一个好看的小时钟html+js+css源码
137 24
|
5月前
|
前端开发 测试技术 定位技术
如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤
本文深入介绍了如何利用HTML和CSS构建企业级网站的全过程。从项目概述到页面结构设计,再到HTML结构搭建与CSS样式设计,最后实现具体页面并进行优化提升,全面覆盖了网站开发的关键步骤。通过实例展示了主页、关于我们、产品展示、新闻动态及联系我们等页面的设计与实现,强调了合理布局、美观设计及用户体验的重要性。旨在为企业打造一个既专业又具吸引力的线上平台。
173 7
|
5月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
85 6
|
5月前
|
存储 移动开发 前端开发
高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容
本文深入探讨了高效的 HTML 与 CSS 编写技巧,涵盖语义化标签、文档结构优化、CSS 预处理、模块化设计、选择器优化、CSS 变量、媒体查询等内容,旨在提升开发效率、网站性能和用户体验。
127 5
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等