HTML页面基本结构

2023-11-08

本文简要介绍HTML中的各种元素及其相关属性,读者需要有一个概念: HTML页面都是由基本元素及属性组成的。HTML页面的结构如下。

doctype 声明

HTML 源文件中, 首先出现的是 doctype 声明。 该声明告诉浏览器, 本页面使用何种标记语言编写, 这会影响到浏览器渲染内容的方式。虽然看起来有点复杂,但大部分所见即所得(WYSIWYG)的web编辑器都能自动创建 doctype。如果不使用可视化编辑工具,那也可以从其他网页中拷贝 doctype, 或者参考下面的 doctype 列表。

doctype 是HTML文件中最顶部的那一行, 说明文档是什么类型。在HTML文件中,指的是HTML版本号以及展示风格。以前版本的 doctype 声明看起来很丑,并且也不好记。例如 XHTML 1.0 Strict 声明:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

再看HTML4过渡式的写法:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

代码编辑器的HTML模板中自动包含了doctype,一般也提供了自动插入的方式。

尽管文档顶部的这一串长长的文本也不碍什么事, 但 HTML5 去除了这些可读性差的写法, 统一使用下面的声明:

 <!doctype html>

简单、而且直接。可以看到,声明中并没有出现版本号 “5”。虽然当前版本被称为 HTML5, 但实际上它只是对HTML之前标准的一个演进。因为浏览器必须支持Web上各种现有的内容, 所以实际上并不需要 doctype 来说明依赖哪些特性。

在HTML 4.01页面中, doctype 看起来是这样的:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>Page title</title></head><body></body></html>

在这个示例中,doctype与HTML 4.01 Strict相关。在下文中,您将看到 HTML 4.01 以及 XHTfML 1.0 , XHTfML 1.1 的示例。虽然很多元素和属性具有相同的名称,但在不同版本的HTML和xhtml中还是存在一些明显的语法差异。详情请参考 HTML Versus XHTML 以及 HTML and XHTML Syntax.

Document 树结构

web页面可以看成是包含任意数量枝干的文档树。每个枝干可以包含哪些元素,有一定的规则(这些内容在每个元素的参考手册中, “Contains”和““Contained by”部分详细的说明)。要理解文档树的概念,可以参考一个简单的web页面,看看其中包含的内容特性, 以及对应的树视图,如图1所示:

Document Tree

图1. 一个简单页面的 Document 树结构

可以看到, html元素实际上包含两个元素: headbodyhead 有两个子元素: metatitlebody 元素可以包含多个 标题(headings)、段落(paragraphs)和 block quote

注意,标签的打开和关闭有对称性。例如,“It has lots of lovely content …”这一段包含三个文本节点,第二个节点被包在 em 元素中(em,强调元素)。 内容结束后段落被关闭,在下一个元素开始之前(本例中是一个 blockquote); 如果将 </p> 标签写在 blockquote 之后, 则会破坏树结构。

html 元素

doctype 之后紧接着出现了 [html] ()元素,这是文档的根元素,接下来的所有内容都是根元素的后代。

如果文档类型为XHTML,那么根元素(root element) html 需要指定 xmlns属性(XML名称空间, html则不需要):

<html xmlns="http://www.w3.org/1999/xhtml">

下面是一个XHTML过渡式页面的示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Page title</title></head>
<body></body>
</html>

html 文档分为两个主要部分: headbody

head 元素

head 元素包含描述文档本身的 metadata 信息,以及相关的资源,比如 JS 脚本和 CSS样式。

下面的简单示例包含了 title 元素, 它表示文档的标题或名称,标识该文档是什么。 title 的内容在浏览器的标题栏上展示,或者是收藏夹中的名称。对于搜索引擎来说, 这也是一个非常重要的信息项,因为这是一段有意义的摘要,下面是示例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Page title</title></head>
<body></body>
</html>

除了title元素之外,head 还可以包含:

  • base 定义了页面上的链接或资源的 baseURL, 打开链接内容所对应的基地址。

  • link 指向某种类型的资源, 通常是CSS样式表, 提供了如何展示网页上各种元素的说明。

  • meta 提供了额外的信息; 例如, 字符编码, 页面的内容摘要, 指示搜索引擎是否应该索引内容, 等等。

  • object 代表一个通用的、多功能的媒体对象容器

  • script 用于嵌入脚本, 或者引入外部脚本.

  • style 用于嵌入样式(页面内).

这些元素都是可选的, 可以是任意顺序。注意, 这里的元素不会展示在页面内, 但他们可以影响页面上展示的内容, 这些内容都在 body 元素内定义。

body 元素

页面中的大部分内容都在 body 内。在浏览器窗口(或viewport)中, 可以看到这个元素中包含的所有内容,包括 paragraphs, lists, links, images, tables 等等。body 元素有一些独有的属性,但现在这些属性都被废弃了,除此之外,这个元素几乎没有什么可说的。 页面的外观将完全取决于填充的内容; 参考HTML元素列表,以确定可以包含哪些内容。

原文链接: https://www.sitepoint.com/web-foundations/basic-structure-of-a-web-page/

翻译日期: 2017年6月26日

翻译人员: 铁锚: http://blog.csdn.net/renfufei

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML页面基本结构 的相关文章

随机推荐

  • 《算法笔记》01

    1 比较交换3个实数值 并按序输出 从键盘输入3个实数a b c 通过比较交换 将最小值存储在变量a中 最大值存储在变量c中 中间值存储在变量b中 并按照从小到大的顺序输出这三个数a b c 末尾输出换行 include
  • kafka客户端连接测试

    客户端代码 package main import fmt github com Shopify sarama kafka 示例代码 func main 配置 config sarama NewConfig 等待服务器所有副本都保存成功后的
  • 【Qt多线程之线程的等待和唤醒】

    QWatiCondition的成员函数 QWaitCondition QWaitCondition bool wait QMutex mutex unsigned long time ULONG MAX void wakeOne void
  • 哪些你朝思暮想的动漫网站-搜嗖工具箱

    AcFun是国内首家弹幕视频网站 这里有全网独家动漫新番 友好的弹幕氛围 有趣的UP主 好玩有科技感的虚拟偶像 年轻人都在用www acfun cn 哔哩哔哩是国内知名的视频弹幕网站 这里有及时的动漫新番 活跃的ACG氛围 有创意的Up主
  • docker pull 设置代理

    简介 你在终端设置代理的时候docker pull的时候是不会走代理的 下面是docker pull设置代理的正确方式 操作 环境是在centos下 如果没有新建下面这个文件夹 sudo mkdir p etc systemd system
  • 毕业设计-基于大数据的新闻推荐系统-python

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • 组件的生命周期

    一 组件的生命周期 1 组件的生命周期 至一个组件从 创建 gt 运行 gt 销毁的过程 2 声明周期函数 由Vue提供的内置函数 伴随组件生命周期按次序自动运行 gt 钩子函数 3 生命周期的阶段划分 1 创建阶段 beforeCreat
  • Flutter从入门到放弃之坑的神奇之处?

    坑一 关于环境变量的配置 这里要注意几点 不然你将会在这里卡死 这里只说Mac OS环境变量的配置 因为我是Mac 首先 command shift 打开隐藏文件 如果你是用的是自带的终端 请在这个文件中配置 如果你使用的是zsh请在 这个
  • Pytorch nn.Module的基本使用

    文章目录 nn Module的基本用法 nn Module的其他常用方法 参考资料 nn Module的基本用法 nn Module是所有神经网络的基类 所以你的神经网络类也应该要继承这个基类 当使用时 主要需要实现其两个方法 init 初
  • SPSS问卷数据处理步骤

    SPSS问卷数据处理步骤 一 准备 界面与数据准备工作 1 先处理显示界面问题 改成中文输出 优化操作过程 编辑 选项 2 数据字典 定义变量属性 几个代表性的 复制数据属性 数据 定义变量属性 设好以后 数据 复制数据属性 把几个代表性的
  • SQL 左连接 右表多条数据处理方式

    前言 多表连接经常使用 而一对多的数据处理比较麻烦 用于记录 便于以后使用 正文 SQL server语句 select a t from table1 a left join select from select b ROW NUMBER
  • STL模板库 常用函数 vector向量容器

    STL模板库 STL是Standard Template Library缩写 中文名字叫标准模板库 由惠普实验室提供 共有三类内容 算法 以函数模板形式实现的常用算法 如 max min swap find sort 容器 以类模板形式实现
  • 做一个 加减运算 利用JavaScript

    首先做个运算需要用到三个文本框 显示数字 这里我用input做了3个框 并且赋值他们的属性值 id 并且做了一个button按钮来调动 接着调用button这个函数 接着我们需要获取第一个和第第二个input的值 为什么用 parseInt
  • 【Linux专题_05】Linux统计行数命令

    Linux统计行数几种常用命令 wc l 这是最常用的命令 用于统计文件中的行数 它会输出文件的行数以及文件名 示例 wc l filename txt nl 该命令会给文件中的每一行添加行号 并将结果输出到标准输出 通过查看行号的最后一个
  • LeetCode 220. 存在重复元素 III

    题目链接 点击这里 class Solution public boolean containsNearbyAlmostDuplicate int nums int k int t TreeSet
  • Android Studio解除全局搜索100条限制

    1 点击Help gt Find Action选项 2 输入Registry 并选中进入 3 将ide usages page size的value设置为自己想要的数值即可
  • 修改块的方法+AcGeMatrix3d+AcGeScale3d+两点之间的距离

    开发过程中 当从外部获取了一个 需要修改块中的实体时 有以下几种方法 1 第一个通过explode函数炸开AcDbBlockReference 获取块参照中的实体对象 然后遍历对象 找到修改的实体 完成修改后将所有的实体插入到模型空间 注意
  • 第四章CSS基础

    文章目录 学习CSS的目的 引入的三种方式 内部样式表 行内样式表 外部样式表 选择器的分类 基础选择器 标签选择器 类选择器 id选择器 通配符选择器 复合选择器 后代选择器 子选择器 并集选择器 伪类选择器 盒子模型 不同浏览器下盒子模
  • 深度学习 从零开始 —— 神经网络(四),二分类问题,IMDB数据集使用

    IMDB数据集 互联网电影数据 包含50000条严重两极分化的评论 正面和负面评论各占50 而该数据集也同样被内置于Keras库中了 其中的评论数据已经经过了预处理 评论 单词 被转化为了整数序列 每个整数都对应词典里面的一个单词 加载数据
  • HTML页面基本结构

    本文简要介绍HTML中的各种元素及其相关属性 读者需要有一个概念 HTML页面都是由基本元素及属性组成的 HTML页面的结构如下 doctype 声明 HTML 源文件中 首先出现的是 doctype 声明 该声明告诉浏览器 本页面使用何种