简介
-
HTML 指的是超文本标记语言:HyperTextMarkupLanguage
-
HTML 运行在浏览器上,由浏览器来解析。
-
HTML 不是一种编程语言,而是一种标记语言
-
HTML 使用标记标签来描述网页
-
HTML 文档包含了HTML标签及文本内容
-
HTML文档也叫做web 页面
-
HTML文档的后缀为.html或者.htm
前端工程师是一名画家
通常画家作画,需要画板,笔,颜料,利用这些工具,加上画家的构思,感悟,就可以画出令人欣赏的佳作。
制作网页,好比画家作画。浏览器就是我们的画板,HTML元素就是我们的笔,HTML颜色就是我们的颜料,通过布局,构思,美感,制作出我们想要的网页。
文档结构
画家作画需要布局,HTML也有自己的结构,规范,如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>网页制作</title>
<link rel="stylesheet" type="text/css" href="theme.css">
<style type="text/css">
h1 {color:red;}
p {color:blue;}
</style>
</head>
<body>
文档内容
</body>
</html>
<!DOCTYPE html>不是 HTML 标签。它为浏览器提供一项信息(声明),即 HTML 是用什么版本编写的;浏览器发展至今,有很多版本,需要生命使用什么版本的HTML,浏览器才能能正确的解析,上面是HTMl5文档类型- html、head、body都是html元素,html根元素,head是头部元素,body元素是内容主体,它们就组成的html的基本结构
- 元素是可以嵌套的,有了嵌套,才能组成丰富的内容
- head元素是所有头部元素的容器;
- meta元素描述了一些基本的元数据,元数据也不显示在页面上,但会被浏览器解析;比如中文网页需要使用声明编码,否则会出现乱码
- title元素定义文档的标题,在所有 HTML 文档中是必需的
- link 元素定义了文档与外部资源之间的关系。通常用于链接到样式表
- style 元素可以直接添加样式来渲染 HTML 文档
- body元素是内容主体,包含了所有的可见的网页内容,网页设计主要在body元素里
元素
元素构成
HTML元素有三部分构成,起始标签、元素内容、结束标签
比如<h1>标题</h1>,<h1>是起始标签,</h1>是结束标签,标题是元素内容;
没有内容的 HTML 元素被称为空元素。空元素是在开始标签中关闭的。比如<img/>, <br/>
元素属性
- 属性可以在元素中添加附加信息
- 属性一般描述于开始标签
- 属性总是以名称/值对的形式出现,比如:id="test" class、id、style是大多数元素都有的属性,有一些元素有自己特殊的属性; 比如 百度,这个一个超文本链接,用来跳转到其他的文档,href就是它的元素。
下面介绍一些常用元素
标题
通过 <h1> - <h6> 标签进行定义的;<h1> 定义最大的标题,<h6> 定义最小的标题。
<h1>这是一个标题。</h1>
<h2>这是一个标题。</h2>
<h3>这是一个标题。</h3>
段落
是通过<p> 标签定义的。
<p>这是一个段落</p>
<p>这是另一个段落</p>
这是一个段落
这是另一个段落
超链接
标签 <a>来设置超文本链接,href是元素的属性,href的值就是你想访问的地址
<a href="https://www.baidu.com">访问百度</a>
图像
由<img> 标签定义,<img>是空元素,意思是说,它只包含属性,并且没有闭合标签。src属性是图像的 URL 地址,width,height,是图片的宽高,alt是当浏览器无法显示图片时,给出的警告信息
<img src="https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2020/1/5/16f73d76160449f5~tplv-t2oaga2asx-image.image" alt="Pulpitrock" width="40" height="40">
列表
标签<ul>、<li>标签组合成无序列表,标签<ol>、<li>标签组合成有序列表
// 无序列表
<ul>
<li>Coffee</li>
<li>Milk</li>
</ul>
// 有序列表
<ol>
<li>Coffee</li>
<li>Milk</li>
</ol>
- Coffee
- Milk
- Coffee
- Milk
表格
由<table> 标签来定义。每个表格均有若干行(由 <tr>标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。
<table border="1">
<tr>
<td>名称</td>
<td>数量</td>
</tr>
<tr>
<td>白菜</td>
<td>30</td>
</tr>
<tr>
<td>苹果</td>
<td>20</td>
</tr>
<tr>
<td>西瓜</td>
<td>10</td>
</tr>
</table>
| 名称 | 数量 |
| 白菜 | 30 |
| 苹果 | 20 |
| 西瓜 | 10 |
表单
表单是一个包含表单元素的区域,表单使用表单标签 <form> 来设置, 还有很多表单元素
<form>
<label>姓名</label> //输入框标题
<input name="name"/> //输入框
<br/> //换行
<label>密码</label>
<input type="password" name="pw"/>
<br/> //换行
<label>爱好</label>
<input type="checkbox" name="like" value="read">读书
<input type="chexkbox" name="like" value="write">写字
<br/>
<label>性别</label>
<input type="radio" name="sex" value="male">男
<input type="radio" name="sex" value="female">女
<br/>
<button>登录</button> //按钮
</form>
姓名
密码
爱好 读书 写字
性别 男 女
登录
区块
- 大多数 HTML 元素被定义为块级元素或内联元素
- 块级元素在浏览器显示时,通常会以新行来开始(和结束)。
- 块级元素
<h1>、<p>、<div>、<ul>、<table> - 内联元素在一行内显示
- 内敛元素
<span>、<input>、<label>、<button>、<a>、<img>
<div>元素,它可用于组合其他 HTML 元素的容器,<span>元素,文本的容器
颜色
我们作画的颜料来了,HTML 颜色由红色、绿色、蓝色混合而成。
定义
HTML 颜色由一个十六进制符号来定义,这个符号由红色、绿色和蓝色的值组成(RGB)。 每种颜色的最小值是0(十六进制:#00)。最大值是255(十六进制:#FFF) 三种颜色 红,绿,蓝的组合从0到255,一共有1600万种不同颜色(256 x 256 x 256) 我们有非常丰富的颜色来作画
#FF0000 红色 rgb(255,0,0)
#00FF00 绿色 rgb(0,255,0)
#0000FF 蓝色 rgb(0,0,255)
#000000 黑色 rgb(0,0,0)
#FFFF00 黄色 rgb(255,255,0)
使用
上面元素我们讲过,元素有属性,用来添加元素的额外信息;style属性,代表元素的内联样式;通过设置style, 可以设置元素的颜色;
<span style="color:#FF0000">#FF0000 红色 rgb(255,0,0)</span><br/>
<span style="color:#00FF00">#00FF00 绿色 rgb(0,255,0)</span><br/>
<span style="color:#0000FF">#0000FF 蓝色 rgb(0,0,255)</span><br/>
<span style="color:#000000">#000000 黑色 rgb(0,0,0)</span><br/>
<span style="color:#FFFF00">#FFFF00 黄色 rgb(255,255,0)</span><br/>
设置style的color属性不同的颜色值,页面上就会显示不同的颜色
文档流
我们有了多种不同的元素,标题,段落,超链接,表格,表格等等这些,我们怎么去组织这些元素,如同画家一样去作画呢?
- HTML文档运行在浏览器窗体中。
- 窗体自上而下分成一行一行,并在每行中按从左至右的顺序排放元素
- 块级元素都独占一行,,内联元素在一行内从左到右顺序排放,一行放不下,另起新行排放
- 几乎所有元素(包括块级,内联和列表元素)均可生成子行,用于摆放子元素,也就是元素之间可以嵌套。
这就是文档流。
能否脱离文档流呢? 答案是可以的,以后再css篇中介绍
盒子模型
如何调整元素的大小、元素之间的间距、元素与子元素之间的间距呢? 把所有的HTML元素都看作一个盒子,这个盒子有宽、高、外边距、内边距、边框

- Margin(外边距) - 清除边框外的区域,外边距是透明的
- Border(边框) - 围绕在内边距和内容外的边框
- Padding(内边距) - 清除内容周围的区域,内边距是透明的
- Content(内容) - 盒子的内容,显示文本、嵌套子元素
- width(元素宽度)- 等于内容宽度+左右内边距宽度+左右边框宽度
- height(元素高度) - 等于内容高度+上下内边距宽度+上下边框宽度
通过上面我们讲元素的style属性,设置这些属性;
<div style="width:200px;height:100px;margin:10px;padding:10px;border:2px solid blue;">
<div style="height:100%;background:red;text-align:center;color:#fff">内容区</div>
</div>
红色区域为元素内容区,宽200px,高100px(px是宽度单位,把他理解成生活中的厘米),蓝色为元素边框,宽度2px,颜色为绿色;蓝色与红色之间的间距为内边距10px, 外边距也是10px; 上面也是两个div元素的嵌套,只有嵌套才能组成丰富的页面。
总结
- HTML是一种超文本标记语言, 在浏览器中运行,用来制作网页,因此HTML文档也叫web网页。
- HTMl通过元素组织网页,比如标题、段落、超链接、表格、表单等。
- HTML元素通过属性,给自己添加额外的信息,比如style、id、class。
- HTML 颜色由红色、绿色、蓝色混合而成,有十六进制表示;
- 文档流,了解浏览器窗体安装怎样的规则排放元素;块级元素占一行,内联元素在一行内从左到右排放,元素之间可以嵌套
- 盒子模型,可以设置元素的大小,内边距,外边距,边框