HTML学习之开始学习HTML
开始学习HTML
块级元素和内联元素
-
块级元素在页面中以块的形式展现。一个块级元素出现在它前面的内容之后的新行上。任何跟在块级元素后面的内容也会出现在新的行上。
块级元素通常是页面上的结构元素。例如,一个块级元素可能代表标题、段落、列表、导航菜单或页脚。一个块级元素不会嵌套在一个内联元素里面,但它可能嵌套在另一个块级元素里面。
-
内联元素通常出现在块级元素中并环绕文档内容的一小部分,而不是一整个段落或者一组内容。
内联元素不会导致文本换行。它通常与文本一起使用,例如,
<a>元素创建一个超链接,<em>和<strong>等元素创建强调。
例如:
1 | <em>第一</em><em>第二</em><em>第三</em> |
<em>是一个内联元素,因此第一行代码中的三个元素都没有间隙的展示在了同一行。
<p>是一个块级元素,因此每个p元素都另起了新的一行展示,并且每个段落间都有一些间隔(默认的浏览器有着展示<p>元素的默认CSS样式)。
HTML标签不区分大小写,但最好仅使用小写字母。
属性
元素可以拥有属性,锚元素<a>的使用示例如下:
1 | <p>A link to my <a href="https://www.bing.com" title="bing" target="_blank">favorite website</a>.</p> |
href属性声明超链接的web地址。
title属性为声明额外的信息,当鼠标悬停在超链接上面时,这部分信息将提示显示。
target属性用于指定链接如何呈现。target="_blank" 将在新标签页中显示链接。如果你希望在当前标签页显示链接,忽略这个属性即可。
布尔属性
布尔属性只能有一个值,这个值一般与属性名称相同,并且可以省略,表现为没有值的属性。例如,考虑 disabled 属性,你可以将其分配给表单输入元素。用它来禁用表单输入元素,这样用户就不能输入了。被禁用的元素通常有一个灰色的外观。
1 | <input type="text" disabled="disabled" /> |
可以这么写
1 | <!-- 使用 disabled 属性来防止终端用户输入文本到输入框中 --> |
HTML注释用
<!--与-->包裹注释内容。
HTML属性可以用双引号或者是单引号来包裹,但不能在一个属性值里面混用。
在一个HTML中已使用一种引号,你可以在此引号中嵌套另外一种引号。
无论你在 HTML 元素的内容中使用多少空格(包括一个或多个空白字符或换行),当渲染这些代码的时候,HTML 解释器会将连续出现的空白字符减少为一个单独的空格符。
下面两个代码片段是等价的:
1 | <p>狗 狗 很 呆 萌。</p> |
特殊字符
| 原义字符 | 等价字符引用 |
|---|---|
| < | < |
| > | > |
| " | " |
| ’ | ' |
| & | & |
元数据:元素
1 | <meta charset="utf-8" /> |
utf-8 是一个通用的字符集,它包含了任何人类语言中的大部分的字符,意味着该 web 页面可以显示任意的语言。
许多 <meta> 元素包含了 name 和 content 属性:
name指定了 meta 元素的类型;说明该元素包含了什么类型的信息。content指定了实际的元数据内容.
例如:
1 | <meta name="author" content="Chris Mills" /> |
<title>与description<meta>会在搜索引擎结果中显示,并且收藏的书签名为title。
为站点添加自定义图标
将图标保存在与index.html相同的目录中,以.ico(.gif或.png)格式保存
在HTML的<head>块中添加以下代码:
1 | <link rel="icon" href="favicon.ico" type="image/x-icon" /> |
为文档设定主语言
例如主语言设置为中文:
1 | <html lang="zh-CN"> |
可以将文档的分段设置为不同的语言,例如将日语部分设置为日语:
1 | <p>Japanese example: <span lang="ja">ご飯が熱い。</span>.</p> |
<span>是一个行级元素,通过使用class、id等属性,便于添加样式。
<span>与<div>非常类似,当<div>是块级元素。
下面这个示例将部分单词颜色变为红色:
1 | <p> |
1 | span.ingredient { |
创建超链接
我们已经知道可以通过锚元素<a>的<href>属性创建链接,例如:
1 | <p> |
可以将标题元素变为链接:
1 | <a href="https://developer.mozilla.org/zh-CN/"> |
可以将图片元素变为链接:
1 | <a href="https://developer.mozilla.org/zh-CN/"> |
属性href的值可以是相对路径,遵循路径规则。
超链接不仅可以链接到文档,也可以链接到文档的特定部分,通过给链接到的元素分配id属性即可实现。
例如,在与index.html同级的contacts.html文件里的标题元素添加id属性
1 | <h2 id="Mailing_address">邮寄地址</h2> |
要在index.html中链接到此标题,可以
1 | <p>要提供意见和建议,请将信件邮寄至<a href="contacts.html#Mailing_address">我们的地址</a>。</p> |
甚至可以在同一份文档下,链接到当前文档的另一部分
1 | <p>本页面底部可以找到<a href="#Mailing_address">公司邮寄地址</a>。</p> |
绝对URL:指向在Web上定义的绝对位置,包括协议和域名。
相对URL:指向与你链接的文件相关的位置。
在下载链接时使用download属性,可以提供一个默认的保存文件名,下面是一个 Firefox 的 Windows 最新版本下载链接的示例:
1 | <a |
描述列表
描述列表(description list)可以用来标记一组项目及其相关描述,例如术语或定义、问题或答案等。
描述列表使用标签<dl>,每一项使用标签<dt>(description term),每个描述使用标签<dd>(description definition),一个术语(dt)可以有多个描述(dd)。例如:
1 | <dl> |
浏览器的默认样式会在描述列表的术语及其定义之间产生缩进。
引用
块引用
使用<blockquote>元素将需要引用的块(段落、列表等)包裹起来,并在cite属性里用URL来指向引用的资源。
1 | <p>Here is a blockquote:</p> |
浏览器的默认样式会将其呈现为缩进的段落,作为引用的指示。
行内引用
使用<q>元素进行行内引用,浏览器默认将其作为普通文本放入引号内表示引用。
1 | <p> |
使用<cite>元素包含引用资源标题,并通过<a>元素链接到引用源。
引文默认的字体样式为斜体。
1 | <p> |
缩略语
<abbr>元素用来包裹一个缩略语或缩写,并且提供缩写的解释,例如:
1 | <p> |
标记联系方式
1 | <address> |
上标和下标
<sup>元素:上标
<sub>元素:下标
1 | <p> |
展示计算机代码
<code>:用于标记计算机通用代码。<pre>:用于保留空白字符(通常用于代码块)——如果文本中使用了缩进或多余的空白,浏览器将忽略它,你将不会在呈现的页面上看到它。但是,如果你将文本包含在<pre></pre>标签中,那么空白将会以与你在文本编辑器中看到的相同的方式渲染出来。<var>:用于标记具体变量名。<kbd>:用于标记输入电脑的键盘(或其他类型)输入。<samp>:用于标记计算机程序的输出。
1 | <pre><code>const para = document.querySelector('p'); |
标记时间和日期
HTML 还支持将时间和日期标记为可供机器识别的格式的<time>元素。例如:
1 | <!-- 标准简单日期 --> |
文档与网站架构
网页组成
网页通常包含以下组成,并且HTML对于这些组分提供了明确的标签:
-
页眉
<header>:通常横跨于整个页面顶部有一个大标题 和/或 一个标志。这是网站的主要一般信息,通常存在于所有网页。 -
导航栏
<nav>:指向网站各个主要区段的超链接。通常用菜单按钮、链接或标签页表示。类似于标题栏,导航栏通常应在所有网页之间保持一致。 -
主内容
<main>:中心的大部分区域是当前网页大多数的独有内容。各种子内容可通过元素<article>、<section>和<div>等表示。 -
侧边栏
<aside>:一些外围信息、链接、引用、广告等。经常嵌套在<main>中。 -
页脚
<footer>:横跨页面底部的狭长区域。页脚是放置公共信息(比如版权声明或联系方式)的,一般使用较小字体。
示例代码参见 GitHub ,对于这些元素的意义:
-
<main>存放每个页面独有的内容。每个页面上只能用一次<main>,且直接位于<body>中。最好不要把它嵌套进其他元素。 -
<article>包围的内容即一篇文章,与页面其他部分无关。 -
<section>与<article>类似,但<section>更适用于组织页面使其按功能(比如迷你地图、一组文章标题和摘要)分块。一般的最佳用法是:以标题作为开头;也可以把一篇<article>分成若干部分并分别置于不同的<section>中,也可以把一个区段<section>分成若干部分并分别置于不同的<article>中,取决于上下文。 -
<aside>包含一些间接信息(术语条目、作者简介、相关链接,等等)。 -
<header>是简介形式的内容。如果它是<body>的子元素,那么就是网站的全局页眉。如果它是<article>或<section>的子元素,那么它是这些部分特有的页眉。 -
<nav>包含页面主导航功能。其中不应包含二级链接等内容。 -
<footer>包含了页面的页脚部分。
HTML 提供了 <div>和 <span> 元素。应配合使用 class属性提供一些标签,使这些元素能易于查询。
换行与水平分割线
<br> 可在段落中进行换行;<br> 是唯一能够生成多个短行结构(例如邮寄地址或诗歌)的元素。
1 | <p> |
<hr> 元素在文档中生成一条水平分割线。
1 | <p> |





