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> |