【四万字总结】对于HTML5的一些总结与实践(一)

简介: 【四万字总结】对于HTML5的一些总结与实践(一)

简介


引言


HTML5 是 HTML 文档的最新标准,由万维网联盟(W3C)于 2014 年 10 月完成标准制定。它添加了一些新的语法特征,修改或删除了一些旧的属性元素。在本节中,我们将总览 HTML5 的新变化,HTML5 文档、HTML5 新特性等。


知识点


  • HTML5 代码规范
  • HTML5 的改变


在接下来我们将深入 HTML5 的各个新特性,了解它们的用途,掌握它们的语法,最终达到熟练使用 HTML5 的目标


代码规范


正确的文档类型


文档类型声明位于 HTML 文档的第一行:

<!DOCTYPE html>

可省略部分标签,但不推荐


在标准 HTML5 中, <html> 和 <body> 标签是可以省略的,比如下面的写法也是正确的:



<!DOCTYPE html>
<head>
  <title>页面标题</title>
</head>
<h1>我是标题</h1>
<p>我是段落。</p>


但是不推荐省略掉,建议还是写成下面这样:



<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title></title>
  </head>
  <body>
    <h1>我是标题</h1>
    <p>我是段落。</p>
  </body>
</html>


使用小写元素名


HTML5 元素名可以使用大写和小写字母,建议使用小写字母,会显得更加好看一点,千万不要使用大小写混写,那样会显得很不专业。建议的写法如下:

<section>
  <p>我是段落。</p>
</section>

关闭所有HTML元素


在 HTML5 中, 你不一定要关闭所有元素 (例如 <p> 元素),但是建议每个元素都要添加关闭标签。比如下面这样写也不会报错:

<section>
  <p>我是段落甲。
  <p>我是段落乙。
</section>

建议写成下面这样:

<section>
  <p>我是段落甲。</p>
  <p>我是段落乙。</p>
</section>

关闭空HTML元素


在 HTML5 中, 空的 HTML 元素也不一定要关闭,我们可以这样写:

<meta charset="utf-8">

建议的写法是还是关闭:

<meta charset="utf-8" />

使用小写属性名


同样的 HTML5 属性名允许使用大写和小写字母。但是我们依然建议使用小写字母:

<div class="test"></div>

属性值


HTML5 属性值可以不用引号。但是属性值我们推荐使用引号,尤其是属性值有空格的话,一定要使用引号,不然不会起作用,属性的命名如果很长我们建议使用驼峰命名法:

<div class="test changeColor"></div>

图片属性


图片通常使用 alt 属性。 在图片不能显示时,它能替代图片显示。建议定义好图片的尺寸,在加载时可以预留指定空间,减少闪烁。比如:

<img src="syl.png" alt="HTML5" style="width:520px;height:1314px" />


空格前后的等号


等号的前后可以使用空格,也可以不使用,推荐少用空格。

<link rel="stylesheet" href="styles.css" />

避免一行代码过长


使用 HTML 编辑器,一行代码过长时左右滚动代码来查看是不方便的。如果实在太长,建议分为几行来写。


空格和缩近


不要无缘无故的添加空行,一般一个模块或一个功能添加一个空行便于区分,缩进使用两个空格,不建议使用 Tab。


注释

<!-- 这是注释 -->

快捷键为 Ctrl + /。当然我们首先要选中要注释的代码再使用快捷键。


注:编码风格建议统一,不要乱而杂,另外建议大家养成多写注释的习惯,因为时间久了,如果没有注释,可能你自己都不知道自己当初写的是啥。


HTML5 的改变

HTML5 是 HTML 最新的修订版本,由万维网联盟(W3C)于 2014 年 10 月完成标准制定。目标是取代 1999 年 所制定的 HTML 4.01 和 XHTML 1.0 标准,以期能在互联网应用迅速发展的时候,使网络标准达到匹配当代的网络需求。最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。


HTML5 添加了许多新的语法特征,其中包括 <video>、<audio> 和 <canvas> 元素,同时集成了 SVG 内容。这些元素是为了更容易的在网页中添加和处理多媒体和图片内容而添加的。其它新的元素如 <section>、<article>、<header> 和 <nav> 则是为了丰富文档的数据内容。新的属性的添加也是为了同样的目的。同时也有一些属性和元素被移除掉了。一些元素,像 <a>、<cite> 和 <menu> 被修改,重新定义或标准化了。同时 apis 和 DOM 已经成为 HTML5 中的基础部分了。HTML5 还定义了处理非法文档的具体细节,使得所有浏览器和客户端程序能够一致地处理语法错误。


新特性和新规则

新特性


  • 语义特性:HTML5 新标准中添加了拥有具体含义的 HTML 标签比如:<article>、<footer>、<header>、<nav>、 <section>。
  • 连通性:能够让你和服务器之间通过创新的新技术方法进行通信。
  • 对本地离线存储的更好的支持。
  • 用于媒介回放的 video 和 audio 元素。
  • 用于绘画的 canvas 元素。
  • 性能与集成特性:提供了非常显著的性能优化和更有效的计算机硬件使用。
  • 设备兼容特性:能够处理各种输入和输出设备。
  • CSS3 特性。


新规则


  • 新特性应该基于 HTML、CSS、DOM、JavaScript。
  • 减少对外部插件的需求,比如 Flash。
  • HTML5 应该独立于设备
  • 更多取代脚本的标记
  • 更优秀的错误处理


新增的结构元素


HTML5 定义了一组新的语义化标记来描述元素的内容,可以简化 HTML 页面设计,并且使用浏览器搜索网页时,也可以利用这些元素。


首先我们来看一个普通的页面的布局方式:

1.png



以上是很常见的 div+css 布局模式,通过 class 名称来区分不同的结构,包括头部、导航、文章内容、右边栏,还有底部模块。


而 HTML5 新标签带来的新的布局则是下面这种情况:

2.png



代码如下所示:



<!DOCTYPE html>
<html>
  <head>
    <title>my page</title>
  </head>
  <body>
    <header>header</header>
    <nav>nav</nav>
    <article>
      <section>section</section>
    </article>
    <aside>aside</aside>
    <footer>footer</footer>
  </body>
</html>


注:上面的代码没有 CSS 样式,只是展示 HTML 结构。拥有具体含义的标签,使得代码有很直观的感受,搜索器也能很容易地抓取合适的信息。


section 标签


<section> 表示文档中的一个区域(或节)。比如章节、页眉、页脚或文档中的其他部分,一般来说会包含一个标题。


例子:



<body>
  <section>
    <h1>section是什么?</h1>
    <p>一个新章节</p>
  </section>
</body>


注:不要把 <section> 元素作为一个普通的 div 容器来使用。一般来说,一个 <section> 应该出现在文档大纲中。


article 标签


<article> 标签定义独立的内容。常常使用在论坛帖子,报纸文章,博客条目,用户评论等独立的内容项目之中。article 可以嵌套,内层的 article 对外层的 article 标签有隶属关系。


例子:



<body>
  <article>
    <h1>实验楼是什么</h1>
    <p>一个在线学习的网站</p>
  </article>
</body>


nav 标签


<nav> 标签定义导航链接的部分:描绘一个含有多个超链接的区域,这个区域包含转到其他页面,或者页面内部其他部分的链接列表。


例子:



<body>
  <nav>
    <ul>
      <li><a href="#">HTML</a></li>
      <li><a href="#">CSS</a></li>
      <li><a href="#">JavaScript</a></li>
    </ul>
  </nav>
</body>


注:并不是所有的链接都必须使用 <nav> 标签,它只用来将一些热门的链接放入导航栏。一个网页也可能含有多个 <nav> 标签,例如一个是网站内的导航列表,另一个是本页面内的导航列表。


header 标签


<header> 标签定义文档的页眉,通常是一些引导和导航信息。它不局限于写在网页头部,也可以写在网页内容里面。


通常 header 标签至少包含一个标题标记(h1-h6),还可以包括 hgroup 标签,还可以包括表格内容、标识、搜索表单、nav 导航等。


例子:

<body>
  <header>
    <h1>网站标题</h1>
    <h2>网站副标题</h2>
  </header>
</body>


footer 标签


<footer> 标签定义 section 或 document 的页脚,包含了与页面、文章或是部分内容有关的信息,比如说文章的作者或者日期。 它和 header 标签使用基本一样,可以在一个页面中多次使用,如果在一个区段的后面加入了 footer 标签,那么它就相当于该区段的页脚了。


例子:



<body>
  <footer>
    <span>Copyright @2013-2019 实验楼在线教育</span>
  </footer>
</body>


aside 标签


<aside> 标签表示一个和其余页面内容几乎无关的部分,被认为是独立于该内容的一部分并且可以被单独的拆分出来而不会使整体受影响。其通常表现为侧边栏或者嵌入内容。他们通常包含在工具条,例如来自词汇表的定义。也可能有其他类型的信息,例如相关的广告、笔者的传记、web 应用程序、个人资料信息,或在博客上的相关链接。


例子:

<body>
  <aside>
    <h1>实验楼简介</h1>
    <p>一个在线学习的网站</p>
  </aside>
</body>


废弃的元素


HTML5 中废除了一些纯表现的元素、只有部分浏览器支持的元素、一些会对可用性产生负面影响的元素。


纯表现元素


纯表现元素指的是可以用 CSS 代替的元素。例如:basefont、big、center、font、s、strike、tt、u这些元素,他们的功能都是纯粹为页面展示服务的,html5 提倡把页面展示性功能放在 CSS 样式表中统一处理,所以将这些元素废除,用 CSS 样式进行替代。


对可用性产生负面影响的元素


对于 frameset 元素、frame 元素与 noframes 元素,由于 frame 框架对网页可用性存在负面影响,在 html5 中已不支持 frame 框架,只支持 iframe 框架,html5 中同时将 frameset、frame 和 noframes 这三个元素废除。


只有部分浏览器支持的元素


对于 applet、bgsound、blink、marquee 等元素,由于只有部分浏览器支持,特别是 bgsound 元素以及 marquee 元素,只被 IE 支持,所以在 html5 中被废除。其中 applet 元素可由 embed 元素或 object 元素替代,bgsound 元素可由 audio 元素替代,marquee 可以由 javascript 编程的方式替代。



目录
相关文章
|
4天前
|
移动开发 前端开发 JavaScript
:掌握移动端开发:HTML5 与 CSS3 的高效实践
:掌握移动端开发:HTML5 与 CSS3 的高效实践
20 1
|
10天前
|
移动开发 前端开发 UED
【专栏:HTML与CSS前端技术趋势篇】渐进式增强与优雅降级在前端开发中的实践
【4月更文挑战第30天】前端开发中的渐进式增强和优雅降级是确保跨浏览器、跨设备良好用户体验的关键策略。渐进式增强是从基础功能开始,逐步增加高级特性,保证所有用户能访问基本内容;而优雅降级则是从完整版本出发,向下兼容,确保低版本浏览器仍能使用基本功能。实践中,遵循HTML5/CSS3规范,使用流式布局和响应式设计,检测浏览器特性,并提供备选方案,都是实现这两种策略的有效方法。选择合适策略优化网站,提升用户体验。
|
10天前
|
移动开发 缓存 前端开发
【专栏:HTML与CSS实践篇】网页性能优化:CSS与HTML的最佳实践
【4月更文挑战第30天】本文探讨了优化CSS和HTML以提升网页性能的最佳实践。HTML优化包括:精简结构、压缩代码、异步加载脚本和利用缓存。CSS优化则涉及:精简代码、合并文件、使用CSS Sprite、善用CSS3属性、避免@import及响应式设计。这些方法能加快加载速度,改善用户体验。
|
10天前
|
前端开发 JavaScript 开发者
【专栏:HTML与CSS实践篇】CSS框架(Bootstrap/Foundation)快速上手
【4月更文挑战第30天】Bootstrap和Foundation是两种流行的CSS框架,用于构建响应式网页。它们包含预定义的样式、栅格系统和组件,加速开发流程。Bootstrap以其12列栅格系统闻名,而Foundation提供更定制化和模块化选项。了解并熟练运用这些框架的基本概念和组件,结合最佳实践和性能优化,能帮助开发者高效创建符合现代设计趋势的网页项目。
|
10天前
|
编解码 前端开发 UED
【专栏:HTML 与 CSS 实践篇】网页图标与字体图标的使用
【4月更文挑战第30天】本文探讨了网页设计中两种主要图标形式——传统图标和字体图标。传统图标(PNG, JPEG, GIF)视觉效果丰富但文件大,易影响加载速度且维护不便。字体图标占用空间小,易于维护和定制,但视觉效果相对简单,选择有限。实际应用中,两者可结合使用,以导航栏、操作按钮和提示信息为例说明了图标的重要性。设计师需注意兼容性、清晰度和性能优化问题,根据项目需求选择合适图标类型,以提升网页质量和用户体验。
|
10天前
|
编解码 前端开发 UED
【专栏:HTML与CSS实践篇】HTML与CSS在电商网站中的应用
【4月更文挑战第30天】本文探讨了HTML和CSS在电商网站中的关键作用。HTML作为基础结构,定义网页内容和布局,用于页面布局、内容展示和表单处理;而CSS则负责样式设计和美化,包括响应式设计、交互效果和模块化,两者结合创建出功能齐全、视觉吸引力强的在线购物环境,提升用户体验。
|
10天前
|
编解码 前端开发 UED
【专栏:HTML与CSS实践篇】响应式网站开发实战
【4月更文挑战第30天】本文探讨了响应式网站开发,它能根据用户设备自动调整布局,提供最佳浏览体验。通过HTML和CSS,利用媒体查询、Flexbox和百分比宽度等技术实现响应式设计。媒体查询按屏幕尺寸定义CSS规则,Flexbox处理元素排列。文章通过新闻网站首页设计实例,展示了如何应用这些理论,包括使用Flexbox设计导航栏,使用媒体查询调整轮播图和内容区域,以及创建自适应页脚。遵循移动优先原则,关注性能优化和用户体验,响应式设计是前端开发的关键,为多设备用户提供优质浏览体验。
|
10天前
|
前端开发 搜索推荐 SEO
【专栏:HTML 与 CSS 实践篇】使用 HTML 与 CSS 构建个人博客网站
【4月更文挑战第30天】本文介绍了使用HTML和CSS构建个性化个人博客网站的步骤。首先,规划设计网站主题、风格和结构;接着,利用HTML搭建首页、文章列表页和文章详情页的结构;然后,通过CSS设计整体风格、布局和交互效果;填充内容并进行SEO优化;最后,通过实际案例展示HTML和CSS的应用。构建博客网站不仅是展示自我和分享知识的平台,也是提升技能和创意实践的好机会。
|
2月前
|
Web App开发 移动开发 前端开发
|
3月前
|
数据采集 数据安全/隐私保护
高效网络采集实践:使用 Haskell 和 html-conduit 下载 www.baidu.com 视频完整教程
网络采集在当今信息时代中发挥着关键作用,用于从互联网上获取数据并进行分析。本文将介绍如何使用 Haskell 进行网络编程,从数据采集到图片分析,为你提供一个清晰的指南。我们将探讨如何使用爬虫代理来确保高效、可靠的数据获取,并使用 Haskell 的强大功能来分析和处理数据。
138 1