本文首发于【前端课湛】微信公众号。可以在微信里搜索【前端课湛】关注,第一时间看文章!

导读: 本小节主要讲解 HTML 的基础语法内容,将通过编写第一个 HTML 页面来学习 HTML 的基本结构、 声明、元素和注释等内容。通过本小节的学习可以对 HTML 的基础语法有个全面的掌握,这也是我们后续学习 HTML 其他内容时必须要用到的。

提示:学习 HTML 基础语法需要用到开发编辑器,这里使用 Visual Studio Code 编辑器。当然,你也可以选择你更熟悉的开发编辑器来使用。关于 Visual Studio Code 编辑器的基本操作可以参考本小节中扩展阅读。

HTML 基本结构

创建第一个 HTML 页面

打开 Visual Studio Code 编辑器新建一个文件,并且保存为 .html 或 .htm 扩展名的文件。然后,在新建的 HTML 文件中输入 HTML,这时 Visual Studio Code 编辑器会弹出提示框。

如下图所示展示了输入之后的提示框:

根据 Visual Studio Code 编辑器的提示,选择【html : 5】这个选项,就创建好了一个 HTML 的基本结构。

如下图所示展示了创建之后的 HTML 模板内容:

 Document

说明:【html : 5】选项表示使用 HTML5 版本的模板。

HTML 模板简要说明

创建了 HTML5 版本的基本结构,接下来我们以从上到下的顺序,对这个基本结构中比较核心的内容进行简单地初步了解。

1. 声明

在 HTML5 基本结构的第一行,这块内容被称为 HTML 声明。HTML 声明的作用是浏览器运行该 HTML 页面时,告知浏览器当前 HTML 页面的版本。

2. HTML 基本结构

  

除了第一行的 HTML 声明之外,其余内容才算是 HTML 的基本结构。接下来我们进行分别说明:

  • 元素:表示当前 HTML 页面的根元素,用来包含所有其他 HTML 元素。
  • 元素:表示当前 HTML 页面的头部,用来定义当前 HTML 页面的基本信息,例如标题、关键字、作者等内容。
  • 元素:表示当前 HTML 页面的主体,用来定义最终显示在浏览器窗口的内容。

声明

HTML 页面的第一行一般都是编写 HTML 声明。HTML 声明的作用就是当浏览器运行该 HTML 页面时来告知浏览器当前 HTML 页面的版本,这样浏览器会准确地进行解析并展示其内容。

HTML 声明必须要编写在 HTML 页面的第一行,一般都是在 元素之前。并且 HTML 声明之前不能存在空行或者空格,不然会导致 HTML 声明失效。

浏览器发展至今,其功能也非常的强大。所以,如果 HTML 页面没有定义 声明的话,浏览器也可以正确地解析该 HTML 页面并进行显示。但是,还是建议在编写 HTML 页面时定义 声明

再有,我们需要注意 HTML5 版本和 HTML 4.01 版本的声明是不同的。

  • 如下示例代码所示展示了 HTML5 版本的声明:
  • HTML 4.01 版本的声明分别存在三个版本。
  • HTML 4.01 Strict

该声明是严格型约束,该 DTD 文件包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font),也不允许框架集(Framesets)。

  • HTML 4.01 Transitional

该声明是过渡型约束,该 DTD 文件包含所有 HTML 元素和属性,包括展示性的和弃用的元素(比如 font),但不允许框架集(Framesets)。

  • HTML 4.01 Transitional

该声明是框架集约束,该 DTD 等同于 HTML 4.01 Transitional,但允许框架集内容。

通过两个版本的 HTML 声明内容,我们也可以看出 HTML5 版本的声明内容简化了不少。不仅没有了版本信息,也不需要约束文件。

说明:约束文件指的是如上述 strict.dtd、 loose.dtd 或者 frameset.dtd 文件。HTML 的约束文件是用来定义 HTML 的元素以及编写规范。

HTML 元素

除了 HTML 声明之外,其他内容都是 HTML 元素。首先,需要搞清楚元素(Element)和标签(Tag)之间的区别,如下图所示:

  • 元素(Element):是用来包含文字、图片或者音视频的内容,一般是由标签和内容组成。
  • 标签(Tag):是元素的组成部分,一般分为开始标签和结束标签。

HTML 元素

HTML 元素是 HTML 的重要组成部分之一,如下图所示展示了 HTML 元素的语法结构:

HTML 元素可以分为闭合元素和空元素两种类型:

  • 闭合元素:具有开始标签和结束标签,而且开始标签和结束标签是成对出现的。如下示例代码展示了闭合元素:
文本内容
  • 空元素:只有开始标签,而没有结束标签。如下示例代码展示了空元素:

注意:在编写 HTML 元素时,如果是闭合元素不要忘记结束标签,如果是空元素不要编写结束标签。目前的开发编辑器会有相应的提示功能。

由于 HTML 是大小写不敏感的,所以 HTML 元素的元素名写成大写或小写都是允许的,例如

是一样的含义。

但是 W3C 组织早在 HTML4 版本时,建议元素名使用小写形式。后来出现的 XHTML 是强制元素名必须使用小写形式。所以,元素名的编写还是尽量使用小写形式,而且现在的开发编辑器的提供功能也都是小写形式的。

注意: 元素是比较特殊的元素,称为根元素。在一个 HTML 页面中只能存在一个 元素,即使编写了多个 元素,运行 HTML 页面时浏览器也会自动忽略。

HTML 标签

HTML 标签实际上是 HTML 元素的组成部分之一,分为开始标签和结束标签。

  • 开始标签(Opening Tag):表示某个元素是从这里开始的。
  • 结束标签(Closing Tag):表示某个元素是到这里结束的。

无论是开始标签还是结束标签都具有的结构:

  • 左尖角号
  • 元素名
  • 右尖角号

如下图所示展示了标签的结构:

而结束标签相比开始标签多了个结束符( /)。如下图所示展示了结束标签的结构:

HTML 元素的属性

属性是 HTML 元素的重要组成部分,用来定义某个元素的信息。例如为

元素定义 ID 属性,就是定义了唯一标识。

属性定义在元素的开始标签中,这样无论是闭合元素还是空元素都可以正常使用属性。属性的语法结构是键值对形式的。如下图所示展示了属性的语法结构:

  • 属性名(attribute name):其数量和作用都是 HTML 给定的。
  • 属性值(attribute value):属性对应的值,建议使用一对双引号进行包裹。

注意:不同的属性,对应不同类型的值。

与元素的情况类似,属性的编写 W3C 组织也是建议使用小写形式。目前开发编辑器的提示功能也都是提供小写形式的。

同一个元素是允许编写多个不同的属性的,但在同一个元素中不能同时定义多个相同的属性。再有,HTML 元素的属性可以划分为以下 4 种:

  1. 标准(通用)属性:HTML 元素几乎都具有的属性,例如 id、name、style 和 class 属性等。
  2. 专有(私有)属性:HTML 中某些元素特有的属性,例如 元素的 action 属性等。
  3. 事件属性:用来为 HTML 元素注册 DOM 事件的属性,例如 onclick 属性等。
  4. 自定义属性:第三方框架中为了完成某个特定功能而定义的属性,例如 Vue 框架的 v-if 属性等。

HTML 头部

HTML 头部具体是指

元素以及该元素所包含的所有元素,其作用是用来定义当前 HTML 页面的基本信息,例如 HTML 页面的标题、编写格式、作者、关键字以及描述等内容。

元素

  • 元素:定义 HTML 页面的标题,显示在浏览器的标题或标签页上。如下示例代码所示展示了 元素的用法:
Document
  • 元素:定义 HTML 页面中所有相对 URL 的根 URL。如下示例代码所示展示了 元素的用法:

注意:一个 HTML 页面只能定义一个 元素。如果一个 HTML 页面定义了多个 元素的话,则只有第一个 元素有效。

  • 元素:定义 HTML 页面引入的外部资源,比较常见的是引入外部 CSS 文件或图标文件等。
    如下示例代码所示展示了通过 元素引入外部 CSS 文件:
  • 如下示例代码所示展示了通过 元素引入外部图标文件:
  • 元素:定义 HTML 页面的元数据信息,例如编码格式、作者、关键字等。如下示例代码所示展示了通过 元素的用法:
    • 元素:定义当 HTML 页面的脚本代码不被支持或者浏览器关闭了脚本执行时的替代内容。如下示例代码所示展示了 元素的用法:
     这是一个链接
    • 元素:定义 HTML 页面允许用户可以调用的命令。该元素已被废弃!

    元素

    元素是用来定义不能由 、 、

html5 内嵌网页_HTML5与CSS3基础语法自学教程(二)相关推荐

  1. html5 内嵌网页_如何分析并优化网页的性能?新梦想软件测试

    一个网站的网页是好是坏,往往是体现在速度和高度两个方面,速度是网页所展示出来的时间,能否为浏览用户节约时间.高度则是一个网站网页本身的质量,能否为浏览用户带来真正的好体验.然而看似简单的两个点,但是背 ...

  2. Unity 内嵌网页

    uniwebview 官网 http://uniwebview.onevcat.com/reference/class_uni_web_view.html http://uniwebview.onev ...

  3. 移动端app内嵌网页开发框架

    框架技术栈 之前开发过一个项目,app内嵌网页应用使用Antd mobile + React + mobx + webpack的技术栈来开发.记录一下对于移动端开发中特殊的一些点: 自适应布局 我们在 ...

  4. WPF应用程序内嵌网页

    WPF应用程序内嵌网页 原文:WPF应用程序内嵌网页 版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/shaynerain/article/details/ ...

  5. Java-Swing内嵌网页判断网址类型

    最近开发了一个项目,用Swing窗口界面内嵌网页,然后从记事本中获取到网址,页面显示网址内容,然后人工点击单选按钮判断所打开的网站是什么类型,将对应类型的网址添加到对应的记事本中,然后自动获取下一个网 ...

  6. Unity发布内嵌网页的PC客户端

    Unity开发PC客户端内嵌网页的工具名为:SimpleWebView,资源本人已经上传至CSDN共享:MAC.android.ios端需要用的插件为UniWebView,鉴于UniWebView教程 ...

  7. 微信小程序与内嵌网页交互实现支付功能

    上个月,小程序开放了新功能,支持内嵌网页,所以我就开始了小程序内嵌网页之路,之前我只是个小安卓. 内嵌网页中可使用JSSDK 1.3.0提供的接口,可坑就来了,居然不支持支付接口的调用,经过一番研究, ...

  8. Unity内嵌网页插件

    Unity内嵌网页插件 这里我用到的内嵌插件是EmbeddedBrowser3.1.0版本,这是一个收费插件,笔者大大百度了好久,哈哈哈,最后还是选择掏钱买了一份,主要是实在是白嫖不到啊,倒是找到一个 ...

  9. 微信小程序与H5内嵌网页交互实现地图定位功能

    小程序中有很多好用的API,整个项目我们是用vue实现的,使用小程序的内嵌网页功能完成交互. 使用小程序的< web-view >标签将vue项目在小程序中运行.大概的背景就是这样.接下来 ...

最新文章

  1. 北美欧洲顶级大咖齐聚,在这里读懂 AIoT 未来!
  2. 2014年 12月15日 多线程编程
  3. 菜鸟级三层框架(EF+MVC)项目实战之 系列一 EF零基础创建领域模型
  4. Java BigDecimal初探
  5. 基于centos5.8源码安装nginx之LNMP
  6. sqlalchemy filter
  7. Dubbo+Zookeeper 基础讲解
  8. c++卡常技巧-164
  9. 医学知识-骨密度以及骨密度测量
  10. 软件研发的绩效考核漫谈一
  11. 读周志华《机器学习》第一章有感(白话总结)
  12. 基于HTML+CSS+JavaScript+Bootstarp响应式健身网站(web前端期末大作业)
  13. ad20生成二维码_AD20(AltiumDesigner)最全快捷键-资源下载人人文库网
  14. (php毕业设计)基于php水果销售商店管理系统获取
  15. 往DAO类中注入@PersistenceContext和@Resource的区别
  16. C++多线程同时读同一文件
  17. Cocos2d-x扣血飘字特效用完你就消失--之游戏开发《赵云要格斗》(8)
  18. Codis命令快速查询
  19. “ 装逼不成,被雷劈了。。。。 ”答案
  20. Linux系统中使用Nginx实现反向代理

热门文章

  1. keras系列︱keras是如何指定显卡且限制显存用量
  2. 通俗讲解傅里叶变换fft
  3. 青龙面板-傻妞sillyGirl xdd机器人频繁掉线解决方法
  4. oracle生成xml格式化,介绍关于Oracle下存取XML格式数据的方式教程一览
  5. python程序报错_Python编程报错总汇
  6. c语言常用绘图软件,大佬们,小菜鸟想问一问用vc编译器做简易画图软件
  7. 高中计算机会考优秀网,北京高三体育会考成绩255分为优秀
  8. linux下实现dns服务器,实现Linux操作系统下DNS服务器的搭建
  9. mysql设置slave复制_mysql5.5建立主从复制(setupmaster-slavereplication)_MySQL
  10. mysql源码如何解析where字句_MySQL解析器源码分析--对select语句中子查询处理逻辑的分析(一)...