HTML文档结构

作者: Cissy_fba3 | 来源:发表于2023-01-27 17:11 被阅读0次
<!DOCTYPE html> <!--声明文档类型,不是HTML元素-->
<html lang="en-US"><!--根节点-->
  <head><!--声明文档的元数据,不会显示在视口中-->
  </head>
  <body><!--包含显示在视口中的所有内容-->
  </body>
</html>

<!DOCTYPE html>

不是html元素,是一个叫文档类型特殊的节点, doctype告诉浏览器用哪种标准模式的文档。

<html>

HTML document的根标签,是 <head> and <body>的父标签,包含除doctype之外的所有内容。

<head>

声明文档的元数据, 包含了 文档标题,角色设置, 窗口设置, 文档描述, base URL, 样式链接, icons等.

<head>
    <!--字符集的编码声明,确保在title之前声明-->
    <meta charset="UTF-8">
    <!--字符集的编码声明,确保在title之前声明-->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!--定义视口的一些特性,比如是否可伸缩等-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=1">
    <!--文档标题,会在浏览器打开标签中显示-->
    <title>Home</title>
</head>
<meta>

meta常用于定义页面的说明,关键字,最后修改日期,和其它的元数据。这些元数据将服务于浏览器(如何布局或重载页面),搜索引擎和其它网络服务。

具体使用参照https://segmentfault.com/a/1190000004279791

<link>

link标签一般用来引入外部资源,一些是下载的资源,一些则用来展示信息。具体用来干啥,则用ref来决定。

ref可以有25个类型的值

应用示例

  • 最常见的引入css文件

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

  • 网站图标favicon
<link rel="icon" sizes="16x16 32x32 48x48" type="image/png" href="/images/mlwicon.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/images/mlwicon.png" />
<link rel="mask-icon" href="/images/mlwicon.svg" color="#226DAA" />
  • 网站的替用版本
<link rel="alternate" href="https://www.machinelearningworkshop.com/fr/" hreflang="fr-FR" />
<link rel="alternate" href="https://www.machinelearningworkshop.com/pt/" hreflang="pt-BR" />
  • 规范

如果定义了多个版本的网站,rel为"canonical"的则为首选站点。

<link rel="canonical" href="https://www.machinelearning.com" />

<style>

style标签用来写css样式

<style>
  :root {
    --theme-color: #226DAA;
  }
</style>

有三种方法可以在HTML document中运用css:link标签引入外部资源、head中在style标签中、HTML普通标签中行内样式。

<script>

用于写js。

<script>
  document.getElementById('switch').addEventListener('click', function() {
    document.body.classList.toggle('black');
  });
</script>

一般放于body末尾,因为JavaScript不仅会导致渲染阻塞,而且当脚本被下载时,浏览器会停止下载所有资源,并且直到JavaScript执行完才会继续下载其他资源。有两个属性可以解决这个问题,defer和async。

defer, HTML在js下载时不会被阻塞,而且只有当html渲染完毕之后js才会执行。async, 在js下载时也不会阻塞HTML渲染, 但是一旦js下载完毕,html渲染就会暂停来等js执行。所以如果非要在head中执行js脚本,记得加上defer。

<script src="js/switch.js" defer></script>

<base>

<base> 标签为页面上的所有的相对链接规定默认 URL 或默认目标。href属性定义了所有相对链接的基URL。只能设置在head中,且一个document只能拥有一个。

<base target="_top" href="https://machinelearningworkshop.com" />
<!--设置了base之后,a标签等可以以下那样写-->
<a href="#ref">
<!--相当于没有设置base下的-->
<a target="_top" href="https://machinelearningworkshop.com#ref"> 

<body>

document的内容部分,视口中展示在页面上的内容。

相关文章

  • Sublime text 2中Emmet的使用指南

    生成 HTML 文档初始结构 HTML 文档的初始结构,就是包括 doctype、html、head、body 以...

  • Html标签

    1. 文档结构标签 用来标识文档的基本结构 标识HTML文档的起始和终止 标识HTML文档的头部区域 标识HTML...

  • HTML文档结构

    • 文档结构• :定义文档类型(HTML 5)• ...

  • 基础(二)--HTML常用标签

    1.文档结构标签主要用来标识文档的基本结构 :标识HTML文档的起始和终止 :标识HTML文档的头部区域 :标...

  • HTML文档结构

    HTML文档的结构,我们可以将它理解为网页的语法结构,一种编码的格式。这个文档结构可以使网页的编写变得非常的规范。...

  • HTML文档结构