1. HTML 语法规范
1.1 HTML基本语法
- HTML 标签是由尖括号包围的关键词,例如
<html>
。 - HTML 标签通常是成对出现的,例如
<html> </html>
,我们称为双标签。标签对中的第一个标签是 开始标签,第二个标签是结束标签。 - 有些特殊的标签必须是单个标签(极少情况),例如
<br/>
,我们称为单标签。
1.2 标签关系
-
双标签关系可以分为两类:包含关系和并列关系。
-
包含关系:
<head> <title> </title> </head>
-
并列关系
<head> </head> <body> </body>
2. HTML 基本结构标签
2.1 第一个 HTML
- 每个网页都会有一个基本的结构标签(也称为骨架标签),页面内容也是在这些基本标签上书写。 HTML页面也称为 HTML 文档.
标签名 | 定义 | 说明 |
---|---|---|
<html></html> | HTML标签 | 页面中最大的标签,我们称之为 根标签 |
<head></head> | 文档的头部 | 注意在head标签中,我们必须要设置的标签是 title |
<title></title> | 文档的标题 | 让页面拥有一个属于自己的网页标题 |
<body></body> | 文档的主体 | 元素包含文档的所有内容,页面内容基本都是放在body里的 |
2.2 文件标签
-
<!DOCTYPE>:文档类型声明,作用就是告诉浏览器使用哪种HTML版本来显示网页
- eg:
<!DOCTYPE html>
这句代码的意思是: 当前页面采取的是 HTML5 版本来显示网页. - 注意:
<!DOCTYPE>
声明位于文档中的最前面的位置,处于<html>
标签之前<!DOCTYPE>
不是一个 HTML 标签,它就是 文档类型声明标签。
- eg:
-
lang 语言种类:用来定义当前文档显示的语言
- en定义语言为英语
- zh-CN定义语言为中文
- 简单来说,定义为en 就是英文网页, 定义为 zh-CN 就是中文网页 其实对于文档显示来说,定义成en的文档也可以显示中文,定义成zh-CN的文档也可以显示英文 这个属性对浏览器和搜索引擎(百度.谷歌等)还是有作用的
3 常用标签
3.1 标签语义
- 学习标签是有技巧的,重点是记住每个标签的语义。简单理解就是指标签的含义,即这个标签是用来干嘛的。 根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更清晰。
3.2 标题标签 <h1>到<h6>
<h1>标题一共六级选,</h1>
<h2>文字加粗一行显。</h2>
<h3>由大到小依次减,</h3>
<h4>从重到轻随之变。</h4>
<h5>语法规范书写后,</h5>
<h6>具体效果刷新见。</h6>
----来自黑马程序员 pink老师
3.3 段落和换行标签
-
在网页中,要把文字有条理地显示出来,就需要将这些文字分段显示。
-
在 HTML 标签中,标签用于定义段 落,它可以将整个网页分为若干个段落。
<p> 这是一个段落标签 </p> <!-- 单词 paragraph [ˈpærəgræf] 的缩写,意为段落 -> <!-- 标签语义:可以把 HTML 文档分割为若干段落 -->
-
特点
- 文本在一个段落中会根据浏览器窗口的大小自动换行
- 段落和段落之间保有空隙
-
在 HTML 中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望 某段文本强制换行显示,就需要使用换行标签
<br /> <!-- 单词 break 的缩写,意为打断、换行 --> <!-- 标签语义:强制换行 -->
-
特点
<br />
是个单标签<br />
标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。
3.4 文本格式化标签
- 在网页中,有时需要为文字设置粗体、斜体 或下划线等效果,这时就需要用到 HTML 中的文本格式化标签,使 文字以特殊的方式显示
- 标签语义: 突出重要性, 比普通文字更重要
语言 | 标签 | 说明 |
---|---|---|
加粗 | <strong></strong> 或者<b></b> | 更推荐使用<strong></strong> 加粗,语义更加强烈 |
倾斜 | <em></em> 或者<i></i> | 更推荐使用<em></em> 加粗,语义更加强烈 |
删除线 | <del></del> 或者<s></s> | 更推荐使用<del></del> 加粗,语义更加强烈 |
下划线 | <ins></ins> 或者<u></u> | 更推荐使用<ins></ins> 加粗,语义更加强烈 |
3.5 <div>
和 <span>
标签
<div> 和 <span>
是没有语义的,它们就是一个盒子,用来装内容的
<div>这是div标签,一个盒子</div>
<span>这是span标签,一个盒子</span>
<!-- div 是 division 的缩写,表示分割、分区 -->
<!-- span 意为跨度、跨距。 -->
- 特点
<div>
是用来布局的,一行只能放一个<div>
大盒子<span>
是用来布局的,一行可以放多个<span>
小盒子
3.6 图像标签和路径
-
图像标签
- 在 HTML 标签中,
<img>
标签用于定义 HTML 页面中的图像
<img src="图像URL" /> <!-- 单词 image 的缩写,意为图像 --> <!-- src 是<img>标签的必须属性,它用于指定图像文件的路径和文件名 -->
- 所谓属性:简单理解就是属于这个图像标签的特性
- 图像标签的其他属性
属性 属性值 说明 src 图片路径 必须属性 alt 文本 替换文本,图像不能显示时所显示的文本 title 文本 提示文本,鼠标放在图片上所显示的文字 width 像素 设置图像的宽度 height 像素 设置图像的高度 border 像素 设置图像的边框粗细 align left 将图像对齐到左边 right 将图像对齐到右边 top 将图像的顶端和文本的第一行字对齐,其他文字居图像下方 middle 将图像的水平中线和文本的第一行文字对齐,其他文字居图像下方 bottom 将图像的底部和文本的第一行字对齐,其他文字居图像下方 - 图像标签属性注意点
- 图像标签可以拥有多个属性,必须写在标签名的后面
- 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开
- 属性采取键值对的格式,即 key=“value" 的格式,属性 =“属性值”
- 在 HTML 标签中,
-
路径
-
相对路径:以引用文件所在位置为参考基础,而建立出的目录路径
相对路径分类 符号 同一级路径 无 下一级路径 /
上一级路径 ../
-
绝对路径:是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径
-
3.7 超链接标签
-
链接的语法格式
<a href="跳转目标" target="目标窗口的弹出方式"> 文本或图像 </a> <!-- 单词 anchor [ˈæŋkə(r)] 的缩写,意为:锚。 -->
-
属性
属性 作用 href 用于指定连接目标的URL地址,当为标签应用 href 属性时,它就具有了超链接的功能 target 用于指定链接页面的跳转方式,其中 _self 为默认值,_blank 为在新窗口中打开方式
-
-
链接分类
- 外部链接:例如
<a href="http:// www.baidu.com "> 百度 </a>
- 内部链接:网站内部页面之间的相互链接,直接链接内部页面名称即可,例如
<a href="index.html"> 首页 </a>
- 空连接: 如果当时没有确定链接目标时,
<a href="#"> 首页 </a>
阻止链接跳转需要添加javascript:void(0);
或javascript:;
- 下载链接: 如果 href 里面地址是一个文件或者压缩包,会下载这个文件
- 网页元素链接: 在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接
- 锚点链接: 点我们点击链接,可以快速定位到页面中的某个位置
- 在链接文本的 href 属性中,设置属性值为 #名字 的形式,如
<a href="#名字"> 内容 </a>
- 找到目标位置标签,里面添加一个 id 属性 = 刚才的名字 ,如:
<div id="名字"> 内容 </div>
- 在链接文本的 href 属性中,设置属性值为 #名字 的形式,如
- 外部链接:例如
3.8 表格标签
-
表格标签的主要作用
- 表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据 的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理
- 表格不是用来布局页面的,而是用来展示数据的
-
表格标签的基本语法
-
<table> <tr> <td>单元格内的文字</td> ... </tr> ... </table>
<table></table>
是用于定义表格的标签caption
定义表格标题<tr></tr>
标签用于定义表格中的行,必须嵌套在<table></table>
标签中<td></td>
用于定义表格中的单元格,必须嵌套在<tr></tr>
标签中- 字母 td 指表格数据(table data),即数据单元格的内容
-
-
表格属性
- 表格标签这部分属性我们实际开发我们不常用,后面通过 CSS 来设置
属性名 属性值 描述 align left、center、right 规定表格相对周围元素的对齐方式 border 数值或"" 规定表格单元是否拥有边框,默认时"",表示没有边框 cellpadding 像素值 规定单元边缘与其内容之间的空白,默认是1像素 cellspacing 像素值 规定单元格之间的空白 width 像素值或百分比 规定表格的宽度 height 像素值或百分比 规定表格的高度 -
表格结构标签
<thead></thead>
用于定义表格的头部。<thead>
内部必须拥有<tr>
标签。 一般是位于第一行<tbody></tbody>
:用于定义表格的主体,主要用于放数据本体<tfoot></tfoot>
:定义表格的页脚(脚注或表注)。该标签用于组合 HTML 表格中的页脚内容
-
合并单元格
- 跨行合并:rowspan=“合并单元格的个数”
- 跨列合并:colspan=“合并单元格的个数”
3.9 列表标签
- 表格是用来显示数据的,那么列表就是用来布局的
- 列表最大的特点就是整齐、整洁、有序,它作为布局会更加自由和方便
- 根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表
-
无序列表
-
<ul>
标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用<li>
标签定义 -
无序列表的基本语法格式如下
<ul> <li>列表项1</li> <li>列表项2</li> <li>列表项3</li> ... </ul>
- 无序列表的各个列表项之间没有顺序级别之分,是并列的
<ul></ul>
中只能嵌套<li></li>
,直接在<ul></ul>
标签中输入其他标签或者文字的做法是不被允许的<li>
与</li>
之间相当于一个容器,可以容纳所有元素- 无序列表会带有自己的样式属性,但在实际使用时,我们会使用 CSS 来设置
-
无序列表的属性——type
- disc:实心原点
- square:方框
- circle:空心圆圈
-
-
有序列表
-
在 HTML 标签中,
<ol>
标签用于定义有序列表,列表排序以数字来显示,并且使用<li>
标签来定义列表项 -
有序列表的基本语法格式如下
<ol> <li>列表项1</li> <li>列表项2</li> <li>列表项3</li> ... </ol>
<ol></ol>
中只能嵌套<li></li>
,直接在<ol></ol>
标签中输入其他标签或者文字的做法是不被允许的<li>
与</li>
之间相当于一个容器,可以容纳所有元素- 有序列表会带有自己样式属性,但在实际使用时,我们会使用 CSS 来设置
-
有序列表的属性
属性名 属性说明 type 1、a、A、I、i start 从第几个开始 reversed 表示倒叙
-
-
自定义列表
-
在 HTML 标签中,
<dl>
标签用于定义描述列表该标签会与<dt>
(定义项目/名字)和<dd>
(描述每一个项目/名字)一起使用 -
基本语法
<dl> <dt>名词1</dt> <dd>名词1解释1</dd> <dd>名词1解释2</dd> </dl>
<dl></dl>
里面只能包含<dt>
和<dd>
<dt>
和<dd>
个数没有限制,通常是一个<dt>
对应多个<dd>
-
3.10 表单标签
-
表单的作用
- 使用表单目的是为了收集用户信息
- 在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时就需要表单
-
表单的组成
- 在 HTML 中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和 提示信息3个部分构成
-
表单域
-
表单域是一个包含表单元素的区域
-
在 HTML 标签中,
<form>
标签用于定义表单域,以实现用户信息的收集和传递 -
<form>
会把它范围内的表单元素信息提交给服务器 -
语法格式
<form action=“url地址” method=“提交方式” name=“表单域名称"> 各种表单元素控件 </form>
-
常用属性
属性 属性值 作用 action URL地址 用于指定接受并处理表单数据的服务器的URL地址 methon get、post 用于设置表单数据的提交方式 name 名称 用于指定表单名称,以区分同一个页面中多个表单域
-
-
表单控件(表单元素)
-
input输入表单元素
- 在
<input>
标签中,包含一个 type 属性,根据不同的 type 属性值,输入字段拥有很多种形式(可以是文本 字段、复选框、掩码后的文本控件、单选按钮、按钮等)
<input type="属性值" />
-
<input>
标签为单标签 -
type 属性设置不同的属性值用来指定不同的控件类型
-
<input>
表单元素属性值 描述 button 定义可点击按钮(多数情况下,通过JavaScript启动脚本) checkbox 定义复选框 color 取色器 date 日期控件 email 邮箱,可做一个正则的邮箱校验 file 定义输入字段和"浏览"按钮,供文件上传 hidden 定义隐藏的输入字段 image 定义图像形式的提交按钮 number 只能输入数字 password 定义密码字段,该字段中的字符被掩码 radio 定义单选框 reset 定义重置按钮,重置按钮会清除表单中的所有数据 submit 定义提交按钮,提交按钮会把表单数据发送给服务器 text 定义单行的输入字段,用户可在其中输入文本,默认宽度为20个字符 -
除type属性外,
<input>
标签还具有其他属性属性 属性值 描述 name 用户自定义 定义 input 元素的名字 value 用户自定义 规定 input 元素的值 checked checked或不填 规定此 input 元素首次加载时被选中 maxlength 正整数 规定输入字段中字符的最大长度 - name 和value 是每个表单元素都有的属性值,主要给后台人员使用
- name 表单元素的名字, 要求 单选按钮和复选框要有相同的name值
- checked属性主要针对于单选按钮和复选框, 主要作用一打开页面,就要可以默认选中某个表单元素
- maxlength 是用户可以在表单元素输入的最大字符数, 一般较少使用
-
<label>
标签-
<label>
标签为 input 元素定义标注(标签) -
<label>
标签用于绑定一个表单元素, 当点击<label>
标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验 -
<input type="radio" name="gender" id="man"><label for="man">男</label> <input type="radio" name="gender" id="woman"> <label for="woman">女</label>
- 注意:
<label>
标签的 for 属性应当与相关元素的 id 属性相同
- 注意:
-
- 在
-
select下拉表单元素
-
在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用
<select>
标签控件定义下拉列表 -
语法格式
<select> <option>选项1</option> <option>选项2</option> <option>选项3</option> ... </select>
- 在
<select>
中,至少包含一对<option>
<option>
中定义 selected =“ selected " 时,当前项即为默认选中项
- 在
-
-
textarea 文本域元素
-
使用场景
- 当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用
<textarea>
标签 - 在表单元素中,
<textarea>
标签是用于定义多行文本输入的控件 - 使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论
- 当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用
-
语法格式
<textarea rows="3" cols="20"> 文本内容 </textarea>
- . 通过
<textarea>
标签可以轻松地创建多行文本输入框 - cols=“每行中的字符数” ,rows=“显示的行数”,我们在实际开发中不会使用,都是用 CSS 来改变大小
- . 通过
-
4 HTML 中的注释和特殊字符
4.1 注释
- 如果需要在 HTML 文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签
- HTML中的注释以
<!--
开头 以-->
结束 - 添加注释是为了更好地解释代码的功能,便于相关开发人员理解和阅读代码,程序是不会执行注释内容的
4.2 特殊字符
- 在 HTML 页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来替代
特殊字符 | 描述 | 字符的代码 |
---|---|---|
" | 双引号 | " |
& | AND符号 | & |
< | 小于符号 | < |
> | 大于符号 | > |
空格 | | |
¥ | 人民币 | ¥ |
© | 版权所有符号 | © |
® | 注册商标符号 | ® |
² | 批注2符号、平方 | ² |
° | 度数符号 | ° |
5 属性
color
- 英文单词:red,green ,blue
- rgb:(值1,值2,值3) 值的范围0~255,如rgb(0,0,255)
- #值1值2值3:值的范围00~ff
width
- 数值:width=‘20’,值的单位默认是 px(像素)
- %数值:占比,相对于父元素的比例
6 案列
案列1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>注册页面</title>
</head>
<body>
<form action="#" method="post">
<table border="1" align="center" width="500">
<tr>
<td><label for="username"> 用户名 </label></td>
<td><input type="text" id="username" placeholder="请输入用户名"></td>
</tr>
<tr>
<td><label for="password"> 密码 </label></td>
<td><input type="password" id="password" placeholder="请输入密码"></td>
</tr>
<tr>
<td><label for="email"> Email </label></td>
<td><input type="email" id="email" placeholder="请输入邮箱"></td>
</tr>
<tr>
<td><label for="name"> 姓名 </label></td>
<td><input type="text" id="name" placeholder="请输入姓名"></td>
</tr>
<tr>
<td><label for="phoneNum"> 手机号 </label></td>
<td><input type="text" id="phoneNum" placeholder="请输入手机号"></td>
</tr>
<tr>
<td> 性别 </td>
<td><input type="radio" name="gender" value="男"> 男
<input type="radio" name="gender" value="女"> 女
</td>
</tr>
<tr>
<td>出生日期</td>
<td><input type="date" name="出生日期" id="出生日期"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="注册"></td>
</tr>
</table>
</form>
</body>
</html>
案列2
<h4>个人信息征集表</h4>
<table border="1" cellpadding="10" cellspacing="0" align="center">
<caption>基本信息</caption>
<tr>
<td>姓名</td>
<td><input type="text" name="name" id="name" placeholder="请输入姓名"></td>
</tr>
<tr>
<td> 性别</td>
<td>
<input type="radio" name="gender" id="man"><label for="man">男</label> <input
type="radio" name="gender" id="woman"> <label for="woman">女</label>
</td>
</tr>
<tr>
<td>生日</td>
<td>
<select>
<option value="">请选择年份</option>
<option value="">2000</option>
<option value="">2001</option>
<option value="">2002</option>
<option value="">2003</option>
</select>
<select>
<option value="">请选择月份</option>
<option value="">1</option>
<option value="">2</option>
<option value="">3</option>
<option value="">4</option>
<option value="">5</option>
</select>
<select>
<option value="">请选择日期</option>
<option value="">1</option>
<option value="">2</option>
<option value="">3</option>
<option value="">4</option>
<option value="">5</option>
<option value="">6</option>
<option value="">7</option>
<option value="">8</option>
</select>
</td>
</tr>
<tr>
<td>所在地区</td>
<td><input type="text" placeholder="请输入所在地区"></td>
</tr>
<tr>
<td>兴趣爱好</td>
<td>
<input type="checkbox" name="hobby" id="羽毛球"> <label for="羽毛球">羽毛球</label> <input type="checkbox"
name="hobby" id="乒乓球"> <label for="乒乓球">乒乓球</label> <input type="checkbox" name="hobby" id="游泳">
<label for="游泳">游泳</label>
</td>
</tr>
<tr>
<td>自我介绍</td>
<td><textarea cols="30" rows="10" placeholder="自我介绍"></textarea></td>
</tr>
<tr>
<td rowspan="3"></td>
<td><input type="button" value="提交按钮"></td>
</tr>
<tr>
<td><a href="javascropt:;">我是会员,立即登录</a></td>
</tr>
<tr>
<td>
<h5>我承诺</h5>
<ul>
<li>上述信息属实</li>
<li>遵循服务条例</li>
</ul>
</td>
</tr>
</table>