1. h1元素
- HTML 由元素组成。 你将使用的第一个元素是
h1元素:
<h1>Welcome to freeCodeCamp</h1>
- 它以一个开始标签(
<h1>)开始,以一个结束标签(</h1>)结束,中间是它将显示的文本。 - 在你的
Welcome to freeCodeCamp文本前面添加一个开始标签,后面添加一个结束标签,将其转化为一个h1元素。
2. h2元素
h1元素是网页的主标题,每个页面你应该只使用一个。h2元素表现子标题。每个页面可以有多个,它们看起来像这样:
<h2>This is a subheading.</h2>
- HTML 中有六个标题元素:
h1到h6。 它们用于表明网页各部分的重要性,其中h1最为重要,而h6则最为次要。
3. p元素
<p>This is a paragraph element.</p>
4. 空元素
<img>
- 注意,这个图像元素没有结束标签,也没有任何内容。 空元素不能有任何内容,只有一个开始标签。
- 有时你会看到使用
/放在>之前的空元素,如下所示:
<img />
- 许多代码格式化工具(如 Prettier)会选择在空元素中包含
/,HTML 规范指出,/的存在 “并不标志着开始标记是自闭合的,而且是不必要的,没有任何影响”。 - 在实际开发中,这两种形式你都会见到,因此熟悉它们非常重要。
5.图像元素
- 如果你要显示图像,则需要在图像元素中包含几个属性。这是一个带有
src属性的图像元素示例
<img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/running-cats.jpg" />
-
src属性用于指定图像的位置。 对于图像元素,包含另一个名为alt的属性是一种好的实践。alt属性用于为图像提供简短的描述性文本。 -
这是一个带有
src和alt属性的图像元素示例。尝试通过将src值更新为"https://.freecodecamp.org/curriculum/cat-photo-app/cats.jpg"来破坏图像。你将看到图像消失,只显示alt文本。
<img src="https://cdn.freecodecamp.org/curriculum/cat-photo-app/cats.jpg" alt="Two tabby kittens sleeping together on a couch." />
6. 属性
- 属性是放置在 HTML 元素开始标签内的一个值。 属性提供元素的附加信息,或指定元素的行为方式。 以下是属性的基本语法:
<element attribute="value"></element>
- a元素: 锚点anchor
<a href="https://www.freecodecamp.org/news/" target="_blank">Visit freeCodeCamp</a>
- 第一个示例使用了
href和target属性。href属性指定链接的 URL,target属性指定打开链接的位置。 - 将
href="https://www.freecodecamp.org/news/"更改为href="https://www.freecodecamp.org"。现在,当你点击交互式编辑器中的链接时,你将在新的浏览器标签页中看到 freeCodeCamp 主页。 - 如果没有
href属性,链接将无法工作,因为没有目标 URL。所以你必须包含这个href属性以使链接生效。target="_blank"启用链接在新的浏览器标签(页)中打开。 - 其他常见的属性有
src和alt,或备选属性——分别用于指定图像的来源和为图像提供备选描述性文本。
<input type="checkbox" checked />
- 在上面的示例中,有一个
type属性设置为checkbox的input元素。 输入用于从用户处收集数据,type属性指定了输入的类型。 在本例中,该输入是一个复选框。 You will learn more about how inputs work in the upcoming lessons. checked属性用于指定默认选中的复选框。checked属性不需要值。 如果它存在,则默认选中该复选框。 如果它不存在,复选框将被取消选中。 这被称为布尔属性。 在学习 JavaScript 部分时,你将学习更多有关布尔的知识。- 在 HTML 中会遇到几种常见的布尔属性,例如
disabled、readonly和required。 这些属性用于指定元素的状态,如禁用、只读或必填。 - 这是一个默认被禁用的文本
input元素示例。现在从input元素中移除disabled属性,你将看到该input不再默认被禁用。你现在应该能够点击它并在字段内输入内容。
<input type="text" disabled>
7.link元素
link元素用于链接样式表和网站图标等外部资源。 以下是为外部 CSS 文件使用link元素的基本语法:
<link rel="stylesheet" href="./styles.css" />
rel属性用于指定链接资源与 HTML 文档之间的关系。 在这种情况下,我们需要指定该链接资源为stylesheet。- 将 HTML 和 CSS 分置于不同的文件中被视为最佳实践。 开发人员将使用
link元素来链接外部 CSS 文件,而不是在 HTML 文档中编写所有内容。 href属性用于指定外部资源 URL 的位置。- 示例中的
dot后跟一个斜杠,是告诉计算机在当前文件夹或目录中查找styles.css文件。 link元素应放在head元素内,如下例所示:
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Examples of the link element</title>
<link rel="stylesheet" href="./styles.css" />
</head>
- 通常情况下,你会在专业代码库中看到多个
link元素,它们链接到不同的样式表、字体和图标。 下面是一个使用link元素链接到外部 Google 字体 Playwright Cuba 的示例:
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Playwrite+CU:wght@100..400&display=swap"
rel="stylesheet"
/>
-
Google 字体是一套免费的开源自定义字体,你可以在任何项目中使用。 你可以选择要使用的字体,Google 会为你提供必要的 HTML 和 CSS 代码。 在这个示例中,
rel属性的preconnect值告诉浏览器,要与href属性中指定的值提前建立连接。 这样做是为了加快这些外部资源的加载时间。 -
link元素的另一个常见用例是链接到图标。 下面是一个链接到 favicon 的示例:
<link rel="icon" href="favicon.ico" />
- favicon 是 favorite icon(收藏夹图标)的缩写,通常是在浏览器标签(页)中显示在网站标题旁边的小图标。许多网站会使用 favicon 来显示他们的品牌图标。
8. HTML 模板
- HTML 模板就像一个现成的网页模板。模板包括每个 HTML 文档所需的基本结构和重要元素。 它可以节省你的时间,并有助于确保你的页面设置正确。 这是一个示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0" />
<title>freeCodeCamp</title>
<link rel="stylesheet" href="./styles.css" />
</head>
<body>
</body>
</html>
- 让我们来分析一下这个模板的关键部分。 首先,是
DOCTYPE声明:
<!DOCTYPE html>
- 它会告诉浏览器你使用的 HTML 版本。 接下来,是
html标签:
<!DOCTYPE html>
<html lang="en">
<!--All other elements go inside here-->
</html>
- 这包括你所有的内容,并可指定页面语言。 在
html标记内,你会发现两个主要部分——一个head和一个body:
<!DOCTYPE html>
<html lang="en">
<head>
<!--Important metadata goes here-->
</head>
<body>
<!--Headings, paragraphs, images, etc. go inside here-->
</body>
</html>
head部分包含重要的幕后信息:
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document Title Goes Here</title>
<link rel="stylesheet" href="./styles.css" />
</head>
- 网站的元数据,包含在
meta元素中,其中包含字符编码等详细信息,以及 Twitter 等网站应如何预览你的页面链接。 你网站的标题,可在title元素中找到,它决定了显示在浏览器标签页或窗口中的文本。 最后,你通常会在head部分使用link元素链接页面的外部样式表。 body部分是放置所有内容的地方:
<body>
<h1>I am a main title</h1>
<p>Example paragraph text</p>
</body>
9.UTF-8 字符编码
- UTF-8,或 UCS 转换格式 8,是一种在网络上广泛使用的标准化字符编码。 字符编码是计算机将字符存储为数据的方法。 从本质上讲,网页上的所有文本都是以一个或多个字节形式存储的字符序列。 在计算中,字节是由 8 位或二进制数字组成的数据单位。 UTF-8 支持 Unicode 字符集中的所有字符,包括所有书写系统、语言和技术符号中的字符和符号。 下面是使用带有将字符编码设置为
UTF-8的charset属性的meta元素的示例:
<meta charset="UTF-8" />
- 通过将字符编码设置为 UTF-8,可确保页面上正确显示重音
"e"字符(é)。 下面是使用 UTF-8 字符编码的扩展代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Examples of the UTF-8 encoding</title>
</head>
<body>
<p>Café</p>
</body>
</html>
- 对于创建的每个新项目,你都应包含将
charset属性设置为UTF-8的meta元素。
10. 注释
<!--`, contains any number of lines of text, and ends with `-->
11. main元素
- HTML5 有一些元素能够标识不同的内容区域。 这些元素能让你的 HTML 易于阅读,并有助于搜索引擎优化(SEO)和无障碍。
main元素用于表示 HTML 文档正文的主要内容。main元素里的内容应该是文档中唯一的,不应该在文档的其他部分重复。
<main>
<h1>Most important content of the document</h1>
<p>Some more important content...</p>
</main>
- 通过在
h1元素前添加<main>开始标签,并在p元素后添加</main>结束标签,来识别此页面的主要部分。
12.ul元素
- 要创建一个无序项目列表,你可以使用
ul元素。 li元素用于在有序或无序列表中创建列表项。- 这是一个无序列表中列表项的示例:
<ul>
<li>milk</li>
<li>cheese</li>
</ul>
13.figure元素
figure元素代表自包含的内容,允许你将图像与标题相关联。- 图题(
figcaption)元素用于添加标题来描述figure元素中包含的图像。 - 这是一个标题为
A cute cat的figcaption的元素示例:
<figure>
<img src="image.jpg" alt="A description of the image">
<figcaption>A cute cat</figcaption>
</figure>
- 要强调一个特定的单词或短语,你可以使用
em元素。 - 通过将
figcaption元素中的单词包裹在强调em元素中来强调它。
14.ol元素
- 有序列表(
ol)的代码类似于无序列表,但有序列表中的列表项在显示时是编号的。
15.em元素斜体,strong元素加粗
16.footer元素
footer元素用于定义文档或章节的页脚。 页脚通常包含文档作者信息、版权数据、使用条款链接、联系信息等。
17.Div 元素
div元素用作容器以分组其他元素。- 这是一个
div元素的示例。为你的div元素添加另一个段落元素,并在预览窗口中查看更改。
<div>
<p>Example paragraph element.</p>
</div>
- 当你想要将一组
将共享一组 CSS 样式的超文本标记语言元素分组时,你主要会使用div元素。你将在后续的课程和研讨会中学习更多关于 CSS 的内容。 - 尽管
div元素在实际代码库中常被使用,你应当小心不要过度使用它。有些时候,使用其他元素会更合适。 - 例如,如果你想将内容划分为多个部分,那么使用
section元素比使用div元素更合适。 - 在第一个
section元素下方添加另一个section元素。然后在该section元素内添加h2和p元素。你可以使用任何你喜欢的文本,并且你将在预览窗口中看到更改。
<section>
<h2>Mammals</h2>
<p>
Mammals are warm-blooded animals with fur or hair. Most give birth to live
young.
</p>
<ul>
<li>Lion</li>
<li>Elephant</li>
<li>Dolphin</li>
</ul>
</section>
section元素相比div元素没有语义而言有语义。语义是语言中单词或短语的含义。 HTML 是一种语言,元素也有自己的语义含义。 因此,这意味着如果你使用了section元素, 浏览器将获取其语义含义并理解应将其视为一个独立部分——无论是在台式机上、移动设备上,还是其他任何设备上。
18.ID 和类
id属性为 HTML 元素添加唯一标识符。- 这是一个带有
id为title的h1元素示例。 - 在
h1元素下方,添加一个h2元素,其id设置为"subtitle"。你可以为h2编写任意文本,并且你将在预览窗口中看到更改。
<h1 id="title">Movie Review Page</h1>
- 你可以在你的 JavaScript 或 CSS 中引用
title的id名称。以下是一个 CSS 示例,引用title的id来将文本color更改为red。 - 注意:在此交互示例中已为你提供了一些 CSS。不要担心尝试理解这些 CSS 代码,因为你将在后续课程中学习更多相关内容。但如果你想看到文本颜色变为蓝色,点击
styles.css标签(页),并将color: red;改为color: blue;。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0" />
<title>Review page Example</title>
<link rel="stylesheet" href="./styles.css" />
</head>
<body>
<h1 id="title">Movie Review Page</h1>
</body>
</html>
#title {
color: red;
}
- 在
title之前的#,告诉计算你你想指向一个拥有对应id的值.id值不能重复. 关于id值的另一个需要注意的事情是它们不能有空格。 这是一个是将单词main和heading应用于一个id属性值的示例:
<h1 id="main heading">Main heading</h1>
- 浏览器会将此空格视为
id的一部分,这将在样式和脚本处理中导致不必要的问题。id属性值应仅包含字母、数字、下划线和破折号。 - 与
id属性不同,class属性值不需要唯一,可以包含空格。 - 这是一个将名为
box的类应用到div元素的示例。
<div class="box"></div>
- 如果你想为一个元素添加多个类名,可以通过空格分隔这些名称来实现。下面是一个将多个类应用到
div元素的更新示例。
<div class="box red-box"></div>
- 这是为多个
div元素应用多个类的另一个示例。 - 注意:在此交互示例中已为你提供了一些 CSS。不要担心尝试理解 CSS 代码,因为你将在后续课程中学习更多相关内容。点击
styles.css标签(页),并将background-color: red;改为background-color: black;。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0" />
<title>Colored boxes example</title>
<link rel="stylesheet" href="./styles.css" />
</head>
<body>
<div class="box red-box"></div>
<div class="box blue-box"></div>
<div class="box red-box"></div>
<div class="box blue-box"></div>
</body>
</html>
.box {
width: 100px;
height: 100px;
}
.red-box {
background-color: red;
}
.blue-box {
background-color: blue;
}
那么,回顾一下,你什么时候应该使用 id 而不是 class? 当你希望将一组样式应用于许多元素时,最好使用类。 如果要针对特定的元素,最好使用 id,因为这些值需要是唯一的。
19.HTML 实体
- HTML 实体或字符引用是用于表示 HTML 中保留字符的一组字符。
- 假设你想在屏幕上显示文本
This is an <img/> element。如果你使用当前编辑器中的代码,它不会显示预期的结果。即使你为示例添加了src和alt属性,它也会在段落中间显示一张图像,而不是预期的结果。
<p>This is an <img /> element</p>
- 当超文本标记语言解析器看到小于号(
<)符号后跟一个超文本标记语言标签名称时,它会将其解释为一个超文本标记语言元素。这就是为什么你在屏幕上没有得到期望的This is an <img/> element结果。 - 为了解决此问题,你可以使用超文本标记语言实体。以下是使用正确的超文本标记语言实体表示小于(
<)和大于(>)符号的更新示例。现在你应该在屏幕上看到This is an <img/> element。
<p>This is an <img /> element</p>
<代表<>代表>- 这些类型的字符引用被称为命名字符引用。 命名字符引用用(
&)开头,用(;)结尾. 通过使用命名字符引用,HTML 解析器不会将其与实际的 HTML 元素混淆。 - 另一种类型的字符引用是十进制数字引用。 这个字符引用以一个与号和哈希符号(
#)开头,后面跟一个或多个十进制数字,后面跟一个分号。 - 下面是使用小于符号的十进制数字引用的示例。
启用交互式编辑器并更改代码以查看不同的符号。你可以使用
©表示版权符号,©使用®表示注册商标符号。® < 表示< - 最后一种类型的字符引用是十六进制数字引用。 这个字符引用以一个与号、哈希符号和字母
x开头。 然后,后面跟一个或多个 ASCII 十六进制数字,并以分号结束。 - 这是使用小于符号的十六进制数字引用的示例。
- 启用交互式编辑器并更改代码以查看不同的符号。你可以使用
€表示欧元符号€,使用Ω表示希腊大写字母欧米茄符号Ω。< < - &是&的转义字符
20. Script元素
- 下面是一个在超文本标记语言文档中使用
script元素的示例
<body>
<script>
// alert("Welcome to freeCodeCamp");
</script>
</body>
- 虽然从技术上讲,你可以在
script标签中编写所有 JavaScript 代码,但最佳实践是链接到外部 JavaScript 文件。 这是一个使用script元素链接到外部 JavaScript 文件的例子:
<script src="path-to-javascript-file.js"></script>
src标签被用于确定外部JavaScript文件的地址. 不鼓励将所有 JavaScript 放在 HTML 文档中的原因是关注点分离。 关注点分离是一种设计原则,将程序分成不同的部分,每个部分处理一个单独的关注点。 在这种情况下,我们希望将 JavaScript 代码与 HTML 代码分开。