一、什么是HTML:
1、html是一种用来描述网页的语言。
2、html是超文本标记语言(Hyper Text Markup Language)。
3、html语言不是汇编语言,是一种标记语言(Markup Language)。
4、html使用标记标签来描述网页。
5、标记语言是一套标记标签
超文本的含义:
1、它可以加入图片、声音、动画、多媒体等内容**(超越了文本的限制)**
2、它还可以从一个文件跳转到另一个文件,与其他的文件相连(超级链接文本,简称:超链接)
二、html标签
HTML语法规则:
- HTML 标签是由尖括号包围的关键词,例如
- HTML 标签通常是成对出现的,例如 和 ,我们称为双标签
双标签中的第一个标签是开始标签,第二个标签是结束标签 - 有些特殊的标签必须是单个标签(极少情况),例如
,我们称为单标签。
标签的关系:
- 双标签关系可以分为两类:包含关系和并列关系
- 包含关系又称父子关系
- 并列关系又称兄弟关系
二、HTML分为哪几部分
HTML内容分为三部分:
- 头部:header
快捷方式:Ctrl+1(1的输入为English)
- 身体:body
- body标签:定义文档的主题
- body元素包含文档的所有内容(即打开浏览器所能看到的内容都在body元素里),例如文本、超链接、图像、表格和列表等等
底部:footer
- footer 标签定义文档或节的页脚。
- footer元素应当含有其包含元素的信息。页脚通常包含文档的作者、版权信息、使用条款链接、联系信息等等。可以在一个文档中使用多个 footer 元素。
三、开发工具
浏览器
常用浏览器有
- IE
- 火狐(Firefox)
- 谷歌(Chrome)
- 苹果(Safari)
- 欧朋(Opera)
- 浏览器是网页显示、运行的平台
开发工具:vscode(推荐)、HBuilder、Sublime Text3、notepad++
Photoshop(切片工具)
四、HTML常用标签
1、标题标签h1~h6
- 标题标签<h1>-<h6>
- 具体实现:<h1>我是一级标题<h6>
- 单词head的缩写,意味头部、标题
- 标签语义:作为标题使用,并且重要性依次递减
- 特点:
1、加了标题的文字会变粗,字号随着标题的改变依次变大
2、一个标题独占一行(块级元素)
**2、段落标签 **
- <p>标签用于定义段落,它可以将整个网页分为若干个段落。
- 具体实现:<p>我是一个段落标签</p>
- 单词paragraph的缩写,意味段落
- 标签语义:可以把HTML文档分隔为若干段落
- 特点:
1、文本在一个段落中会根据浏览器窗口的大小自动换行
2、段落和段落之间保有空隙
**3、换行标签 **
- 在 HTML 中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望某段文本强制换行显示,就需要使用换行标签< br/>
- 具体实现:< br/>
- 单词:break,打断,换行
- 特点:
1、< br/> 是个单标签
2、 < br/>标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距
注意事项:html中不识别多个空格(只识别一个,一般也不用),不识别回车
4、文本格式化标签
语义 | 标签 | 说明 |
---|---|---|
加粗 | <strong></strong>或者<b></b> | 更推荐使用<strong>标签,语义更加强烈 |
倾斜 | <em></em>或者< i>< /i> | 更推荐使用<em>标签,语义更加强烈 |
删除线 | <del></del>或者<s></s> | 更推荐使用<del>标签,语义更加强烈 |
下划线 | <ins></ins>或者<u></u> | 更推荐使用<ins>标签,语义更加强烈 |
5、div和span标签
-
<div>和<span>是没有语义的,他们就是一个盒子,是用来装内容的
-
具体实现:
<div>我是div</div>
<span>我是span</span> -
div是division的缩写,表示分割、分区。span意味跨度、跨距
-
特点:div标签是块级元素,一行只能放一个。(大盒子)
span标签是行内元素,一行可以放多个;一行如果放不下,会自动换行
6、图片标签-img
<img src=" " alt=" " title=" " width=" " height=" " border=" ">
属性 | 属性值 | 说明 |
---|---|---|
src | 图片路径 | 图片的地址(图片的来源/图片所在位置) |
alt | 文本 | 图片无法正常显示时,代替图片显示的文本 |
title | 文本 | 鼠标箭头放在图片上显示的文本 |
width | 像素 | 设置图片的宽度 |
height | 像素 | 设置图片的高度 |
border | 像素 | 设置图片的边框粗细、颜色、类型 |
- 图像标签注意点:
- 图像标签可以拥有多个属性,必须写在标签名的后面
- 属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开
- 属性采取键值对的格式,即 key=“value" 的格式,属性 =“属性值”
7、链接标签
- 在HTML标签中,<a >标签用语定义超链接,作用是从一个页面 链接到 另一个页面
- 语法格式<a href=" 跳转目标" target=“目标窗口的弹出方式” > 文本或图像</a >
- 单词anchor的缩写,意为:锚
属性 | 作用 |
---|---|
href | 用于指定链接目标的url地址(必须属性),当为标签应用href属性时,它就具有超链接的属性 |
target | 链接打开的方式,_self:默认值,在当前页面内跳转,_blank:在新的页面跳转 |
链接分类 | 说明 |
---|---|
外部链接 | 例如;<a href=“http://www.baidu.com” > 百度</a> |
内部链接 | 网站内部页面之间的相互链接。直接链接内部页面名称即可,例如;<a href=“index.html” > 首页</a> |
空链接 | 如果当时没有确定链接目标时,< a href="#"> 首页 |
下载链接 | 如果 href 里面地址是一个文件或者压缩包,会下载这个文件 |
***注意:**<base="_blank">写在head里面,默认所有的跳转方式都是_blank*
锚点链接:通过连接实现页面快速跳转
创建锚点 跳转过来的地方的标签设置id=“XXX”
<h3 id=“lai”>123</h3>
链接锚点 a标签href="#XXX"
<a href="#lai">123</a>
8、目录:目录文件夹和根目录
- 实际工作中,我们的文件不能随便乱放,否则用起来很难快速的找到他们,因此我们需要一个文件夹来管理他们
- 目录文件夹:就是普通文件夹,里面只不过存放了我们做页面所需要的相关素材,比如 html 文件、图片等
- 根目录:打开目录文件夹的第一层就是根目录
路径: 相对路径、绝对路径
1、相对路径:以引用文件所在的位置为参考基础,而建立出的目录路径。
相对路径分类 | 符号 | 说明 |
---|---|---|
同一级路径 | 图像文件位于HTML文件同一级 例如<img src=“baidu.gif”> | |
下一级路径 | / | 图像文件位于HTML文件同一级 例如<img src=“images/baidu.gif”> |
上一级路径 | …/ | 图像文件位于HTML文件同一级 例如<img src="…/baidu.gif"> |
2、绝对路径:是指目录下的绝对位置,直接到达目标位置,通常是从盘符或者web站点出发。
例如/D/qq/shoping/css/base.css 或 https://www.baidu.com
9、注释
- 如果需要在 HTML 文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签
- 理解:备注,代码说明
- HTML中的注释以<!–开头,以–>结束
- 具体实现:
<!-- 注释语句 --> 快捷键: ctrl + / - 一句话:注释标签里面的内容是给程序猿看的, 这个代码是不执行不显示到页面中的
- 添加注释是为了更好地解释代码的功能,便于相关开发人员理解和阅读代码,程序是不会执行注释内容的
10、特殊字符
单行文本超出部分隐藏并使用省略号
.class{
//定义文本在一行内不能超出
write-space:nowrap;
//超出本分隐藏
overflow:hidden;
//超出部分用省略号代替
text-overflow:ellipsis;
}
多行文本超出部分隐藏并使用省略号
.class{
display: -webkit-box;
-webkit-box-orient: vertical;
//定义文本在几行内不能超出
-webkit-line-clamp: 3;
//超出本分隐藏
overflow:hidden;
//超出部分用省略号代替
text-overflow:ellipsis;
}
列表
列表分类:无序列表、有序列表、自定义列表
无序
<ul>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
...
</ul>
- 标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用
- 标签定义。
- ul:无序列表,unorder list
- li:列表项,list item
- 无序列表的各个列表项之间没有顺序级别之分,是并列的
- < ul> < /ul>中只能嵌套< li> < /li>,直接在< ul> < /ul>标签中输入其他标签或者文字的做法是不被允许的
- < li> < /li>之间相当于一个容器,可以容纳所有元素
- 无序列表会带有自己的样式属性,但在实际使用时,我们会使用 CSS 来设置
有序
<ol>
<li>列表项1</li>
<li>列表项2</li>
<li>列表项3</li>
...
</ol>
- 有序列表即为有排列顺序的列表,其各个列表项会按照一定的顺序排列定义
- 在 HTML 标签中,< ol>标签用于定义有序列表,列表排序以数字来显示,并且使用 < li> 标签来定义列表项
- < ol> < /ol>中只能嵌套< li> < /li>,直接在< ol> < /ol>标签中输入其他标签或者文字的做法是不被允许的
- < li> 与 < /li>之间相当于一个容器,可以容纳所有元素
- 有序列表会带有自己样式属性,但在实际使用时,我们会使用 CSS 来设置
自定义
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
</dl>
- 自定义列表的使用场景:
- 自定义列表常用于对术语或名词进行解释和描述,定义列表的列表项前没有任何项目符号
- 在 HTML 标签中,< dl> 标签用于定义描述列表(或定义列表),该标签会与 < dt>(定义项目/名字)和 < dd>(描述每一个项目/名字)一起使用
表格
1、表格作用:表格主要用于显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。
2、 标签说明
1. <table> </table> 是用于定义表格的标签
2. <th> </th>标签表示HTML表格的表头部分,必须嵌套在<table> </table>标签中,与<tr> </tr>标签是并列关系;一般表头单元格位于表格的第一行或第一列,表头单元格里面的文本内容加粗居中显示
3. <tr> </tr>标签用于定义表格中的行,必须嵌套在<table> </table>标签中
4. <td> </td>用于定义表格中的单元格,必须嵌套在<tr></tr>标签中;字母 td 指表格数据(table data),即数据单元格的内容
表格属性
属性名 | 属性值 | 描述 |
---|---|---|
cellspacing | 像素值 | 控制单元格与单元格之间的距离 默认值2 |
cellpadding | 像素值 | 控制内容距边框的距离 默认值1 |
width | 像素值或百分比 | 整个表格的宽度 |
height | 像素值或百分比 | 整个表格的高度 |
border | 1或 “” | 规定表格是否拥有边框,默认是“”,表示没有边框 |
align | left、right、center | 规定表格相对周围元素的对齐方式 |
caption | 表格的标题 |
注意;
- align 用在表格上是整个表格对齐
- align 用在td 或者tr 上 是对内容的对齐
合并单元格
合并单元格方式:
- 跨行合并:rowspan=“合并单元格的个数”
最上侧单元格为目标单元格, 写合并代码 - 跨列合并:colspan=“合并单元格的个数”
最左侧单元格为目标单元格, 写合并代码
合并单元格三步曲:
- 先确定是跨行还是跨列合并。
- 找到目标单元格. 写上合并方式 = 合并的单元格数量。比如:。
- 删除多余的单元格。
姓名 | 性别 | 年龄 |
---|---|---|
123 | 456 | 789 |
123 | 654 | 987 |
表单
为什么需要表单:
- 使用表单目的是为了收集用户信息
- 在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时就需要表单
表单的组成:
- 在 HTML 中,一个完整的表单通常由表单域、表单控件(也称为表单元素)和 提示信息3个部分构成
表单域
- 表单域是一个包含表单元素的区域
- 在 HTML 标签中,标签用于定义表单域,以实现用户信息的收集和传递
- 会把它范围内的表单元素信息提交给服务器
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 收集的信息提交给哪个文件处理 |
name | 名称 | 表单域的名字 |
method | get/post | 设置表单域的提交方式,默认方式为get |
表单控件(表单元素) ***
- 在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件。
- input输入表单元素
- select下拉表单元素
- textarea 文本域元素
input表单元素
1、在英文单词中,input 是输入的意思,而在表单元素中 标签用于收集用户信息
2、语法格式:<input type=" 属性值" value =“默认值” maxlength=“字符长度” width=“宽” height=“高” checked=“checked”/>
- name 和value 是每个表单元素都有的属性值,主要给后台人员使用.
- id和name属性,可以给所有的标签添加,id的值是唯一的,name的值是可以重复的
- name 表单元素的名字, 要求 单选按钮和复选框要有相同的name值.
- checked属性主要针对于单选按钮和复选框, 主要作用一打开页面,就要可以默认选中某个表单元素.
- maxlength 是用户可以在表单元素输入的最大字符数, 一般较少使用.
type 属性的属性值及其描述如下:
属性值 | 描述 |
---|---|
text | 默认值。定义单行的输入字段,用户可在其中输入文本。默认宽度为20个字符 |
radio | 定义单选按钮 |
checkbox | 定义复选框 |
password | 定义密码字段 |
hidden | 定义隐藏的输入字段 |
image | 定义图像形式的提交按钮 |
file | 定义输入字段和浏览按钮,供文件上传 |
reset | 定义重置按钮。重置按钮会清除掉表单中的所有数据 |
button | 定义可点击按钮 |
submit | 定义提交按钮。提交按钮会把表单数据发送到服务器 |
范例:
刚打开页面就默认显示几个文字怎么做
<input type="text" value="请输入用户名" />
单选按钮/复选按钮
radio (或者checkbox)如果是一组,我们必须给他们命名相同的名字
<input type="radio" name="sex" />男
<input type="radio" name="sex" />女
页面一打开就让某个单选按钮或者复选框是选中状态
<input type="radio" name="sex" value="男" checked="checked" />男
<input type="radio" name="sex" value="女" />女
label标签
- 语法:
<label for="sex">男</label>
<input type="radio" name="sex" id="sex" />
- 核心:
标签的 for 属性应当与相关元素的 id 属性相同
下拉菜单
- 使用场景:在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用标签控件定义下拉列表
- 语法:
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
- <select>中至少包含一对 。
- 在<option> 中定义 selected =“ selected "时,当前项即为默认选中项
textarea表单元素
- 使用场景: 当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用 标签
- 在表单元素中, 标签是用于定义多行文本输入的控件
- 使用多行文本输入控件,可以输入更多的文字,该控件常见于留言板,评论
- 语法:
<textarea rows="3" cols="20">
文本内容
</textarea>
- 通过标签可以轻松地创建多行文本输入框
- cols=“每行中的字符数” ,rows=“显示的行数”,我们在实际开发中不会使用,都是用 CSS 来改变大小
综合案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>综合案例-注册页面</title>
</head>
<body>
<form action="">
<table width="600" border="1">
<caption>
<h4>青春不常在,抓紧谈恋爱</h4>
</caption>
<!-- 第一行 -->
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" id="nan">
<label for="nan"> <img src="images/man.jpg"> 男 </label>
<input type="radio" name="sex" id="nv">
<label for="nv"><img src="images/women.jpg"> 女</label>
</td>
</tr>
<!-- 第二行 -->
<tr>
<td>生日:</td>
<td>
<select>
<option>--请选择年份--</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
</select>
<select>
<option>--请选择月份--</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select>
<option>--请选择日--</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</td>
</tr>
<!-- 第三行 -->
<tr>
<td>所在地区</td>
<td><input type="text" value="北京思密达"></td>
</tr>
<!-- 第四行 -->
<tr>
<td>婚姻状况:</td>
<td>
<input type="radio" name="marry" checked="checked">未婚
<input type="radio" name="marry"> 已婚
<input type="radio" name="marry"> 离婚
</td>
</tr>
<!-- 第五行 -->
<tr>
<td>学历:</td>
<td><input type="text" value="博士后"></td>
</tr>
<!-- 第六行 -->
<tr>
<td>喜欢的类型:</td>
<td>
<input type="checkbox" name="love"> 妩媚的
<input type="checkbox" name="love"> 可爱的
<input type="checkbox" name="love"> 小鲜肉
<input type="checkbox" name="love"> 老腊肉
<input type="checkbox" name="love" checked="checked"> 都喜欢
</td>
</tr>
<!-- 第七行 -->
<tr>
<td>个人介绍</td>
<td>
<textarea>个人简介</textarea>
</td>
</tr>
<!-- 第八行 -->
<tr>
<td></td>
<td>
<input type="submit" value="免费注册">
</td>
</tr>
<tr>
<td></td>
<td>
<input type="checkbox" checked="checked"> 我同意注册条款和会员加入标准
</td>
</tr>
<tr>
<td></td>
<td>
<a href="#"> 我是会员,立即登录</a>
</td>
</tr>
<tr>
<td></td>
<td>
<h5>我承诺</h5>
<ul>
<li>年满18岁、单身</li>
<li>抱着严肃的态度</li>
<li>真诚寻找另一半</li>
</ul>
</td>
</tr>
</table>
</form>
</body>
</html>