前端入门系列之HTML
超文本标记语言 (英语:Hypertext Markup Language,简称:HTML ) 是一种用来结构化 Web 网页及其内容的标记语言。网页内容可以是:一组段落、一个重点信息列表、也可以含有图片和数据表。
HTML是什么
HTML 不是一门编程语言,而是一种用于定义内容结构的标记语言。HTML 由一系列的元素(elements)组成,这些元素可以用来包围不同部分的内容,使其以某种方式呈现或者工作。 一对标签 (tags)可以为一段文字或者一张图片添加超链接,将文字设置为斜体,改变字号,等等。
可以将这行文字封装成一个段落(paragraph)元素来使其在单独一行呈现:
我的猫咪脾气爆 :)
元素
这个元素的主要部分有:
- 开始标签(Opening tag):包含元素的名称(本例为 p),被大于号、小于号所包围。表示元素从这里开始或者开始起作用 —— 在本例中即段落由此开始。
- 结束标签(Closing tag):与开始标签相似,只是其在元素名之前包含了一个斜杠。这表示着元素的结尾 —— 在本例中即段落在此结束。初学者常常会犯忘记包含结束标签的错误,这可能会产生一些奇怪的结果。
- 内容(Content):元素的内容,本例中就是所输入的文本本身。
- 元素(Element):开始标签、结束标签与内容相结合,便是一个完整的元素。
元素也可以有属性(Attribute):
属性包含了关于元素的一些额外信息,这些信息本身不应显现在内容中。本例中,class
是属性名称,editor-note
是属性的值 。class
属性可为元素提供一个标识名称,以便进一步为元素指定样式或进行其他操作时使用。
属性应该包含:
- 在属性与元素名称(或上一个属性,如果有超过一个属性的话)之间的空格符。
- 属性的名称,并接上一个等号。
- 由引号所包围的属性值。
嵌套元素
也可以将一个元素置于其他元素之中 —— 称作嵌套。要表明猫咪非常暴躁,可以将 “爆” 用 元素包围,爆字将突出显示:
<p>我的猫咪脾气<strong>爆strong>:)p>
必须保证元素嵌套次序正确:本例首先使用 标签,然后是
标签,因此要先结束
标签,最后再结束
标签。这样是不对的:
<p>我的猫咪脾气<strong>爆:)p>strong>
元素必须正确地开始和结束,才能清楚地显示出正确的嵌套层次。否则浏览器就得自己猜测,虽然它会竭尽全力,但很大程度不会给你期望的结果。所以一定要避免!
块级元素,内联元素和可变元素
1.块状元素(block element)
-
块状元素在网页中就是以块的形式显示,所谓块状就是元素显示为矩形区域,常用的块状元素包块div,dl,dt,dd,ol,ul,(h1-h6),p,form,hr,table,tr,td等;
-
默认情况下,块状元素都会占据一行,通俗地说,两个相邻块状元素不会出现并列显示的现象;默认情况下,块状元素会按顺序自上而下排列。
-
块状元素都可以定义自己的宽度和高度。
-
块状元素一般都作为其他元素的容器,它可以容纳其它内联元素和其它块状元素。
我们可以把这种容器比喻为一个盒子。
2.内联元素(inline element)(或是行内元素、行间元素、内嵌元素)
-
常见的内联元素如:a,span,i,em,strong,b,img,input等
-
内联元素的表现形式是始终以行内逐个进行显示;
-
内联元素没有自己的形状,不能定义它的宽和高,它显示的宽度、高度只能根据所包含内容的高度和宽度来确定,它的最小内容单元也会呈现矩形形状;
-
内联元素也会遵循盒模型基本规则,如可以定义padding,border,margin,background等属性,但个别属性不能正确显示;
3、可变元素
需要根据上下文关系确定该元素是块元素或者内联元素块元素(block element)
display: block/inline//list-item/table-cell/none;
大概有这么六种转变。盒模型主要下面三种转变。
Block: 块级元素,可以设置宽高,独占一行。
Inline: 内联元素,
inline-block:既能设置宽高 有能一行显示。
空元素
不包含任何内容的元素称为空元素。比如 元素:
<img src="images/firefox-icon.png" alt="测试图片">
本元素包含两个属性,但是并没有 结束标签,元素里也没有内容。这是因为图像元素不需要通过内容来产生效果,它的作用是向其所在的位置嵌入一个图像。
文档详解
随便打开一个网页源码,基本结构如下:
<html>
<head> <meta charset="utf-8"> <title>测试页面title> head> <body> <img src="images/firefox-icon.png" alt="测试图片"> body> html>
— 文档类型。混沌初分,HTML 尚在襁褓(大约是 1991/92 年),DOCTYPE 用来链接一些 HTML 编写守则,有点像自动校正等。然而现在已经没有人关心这些,只是因为历史原因必须将它们保留,但没有实际作用。现在你只需要知道这些就可以。
—
元素。这个元素包含了整个页面的内容,有时也被称作根元素。
—
元素。这个元素放置的内容不是展现给用户的,而是包含例如面向搜索引擎的搜索关键字(keywords)、页面描述、CSS 样式表和字符编码声明等。
— 这个元素指定了当前文档使用 UTF-8 字符编码 ,UTF-8 包括绝大多数人类已知语言的字符。基本上 UTF-8 可以处理任何文本内容,还可以避免以后出现某些问题,我们没有任何理由再选用其他编码。
—
元素。这个元素设置页面的标题,显示在浏览器标签页上,同时作为收藏网页的描述文字。—
元素。这个元素包含期望让用户在访问页面时看到的内容,可以是文本、图像、视频、游戏、可播放的音轨或其他内容。
HTML5 标签列表
以下为常用标签:
| | 代表 HTML 或 XHTML 文档的根。其他所有元素必须是这个元素的子节点。 |
| | 代表关于文档元数据的一个集合,包括脚本或样式表的链接或内容。 |
|
| 定义文档的标题,将显示在浏览器的标题栏或标签页上。该元素只能包含文本,包含的标签不会被解释。 |
| | 用于链接外部的 CSS 到该文档。 |
| | 用于内联 CSS。 |
| | 定义一个内联脚本或链接到外部脚本。脚本语言是 JavaScript。 |
| | 代表 HTML 文档的内容。在文档中只能有一个
元素。 |
| | 定义一个段落。 |
|
| 代表章节、文章或其他长内容中段落之间的分隔符。 |
|
| 定义一个有序列表。 |
|
| 定义一个无序列表。 |
| | 定义列表中的一个列表项。 |
| | 代表一个链接到其他资源的_超链接_ 。 |
| | 代表_强调_ 文字。 |
| | 代表_特别重要_ 文字。 |
| | 代表一段没有特殊含义的文本,当其他语义元素都不适合文本时候可以使用该元素。 |
|
| 代表_换行_ 。 |
| | 代表一张_图片_ 。 |
| | 代表一个_内联的框架_ 。 |
| | 代表一个_表单_ ,由控件组成。 |