HTML(HyperText Markup Language),超文本标记语言,是用来描述网页的一种语言
HTML运行在浏览器上,通过浏览器解析,不区分大小写(建议全部小写)
HTML文档中包含HTML标签和纯文本,用来描述网页,因此HTML文档=网页
html文档的后缀名
.html和.htm都可以,没有区别
HTML是用于创建网页、由标签构成的标记语言,不是编程语言
标记语言是一套标记标签 (markup tag)
HTML 使用标记标签来描述网页
HTML 标签,即HTML标记标签
HTML标签是由尖括号包围的关键词,比如 ,标签通常成对出现,比如 和
标签对中的第一个标签是开始标签,第二个标签是结束标签,开始和结束标签也被称为开放标签和闭合标签
标签的分类
1、围堵标签:有开始标签和结束标签,例如
2、自闭和标签:只有一个标签
标签的书写
可以嵌套,但是嵌套的语法要正确
内部可以定义属性,属性由键值对组成(值需用双引号引起来),多个属性用空格隔开
以 <p id="p1" name="p1"> p>
转移符号 | 描述 |
---|---|
转义为空格 | |
< | 转义为小于号< |
≤ | 转义为小于等于号≤ |
> | 转义为大于号> |
≥ | 转义为大于等于号≥ |
© | 转义为版权符号 © |
代码示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML页面title>
head>
<body>
hello world!
body>
html>
页面显示:
html标签可以分为块状元素和行级元素两类:
块状元素 | 行内元素: |
---|---|
独占一行,宽度自动填满其父元素宽度 | 排列到同一行里,宽度随元素的内容变化而变化 |
可以设置宽高 | 设置宽高无效 |
可以设置margin、padding属性 | 水平方向的padding会有边距效果,但是竖直方向的padding没有效果 |
基本术语:
块状元素:独占一行,可以设置宽高
标题标签 h1-h6,
段落标签 p ,
水平线标签 hr,
有序列表标签 ol--li,
无序列表标签 ul--li,
定义描述标签 dl-dt-dd,
容器标签 div:
行级元素:...,不能设置宽高
span范围标签
img图像标签
标签名 | 写法 | 用处 |
---|---|---|
标题标签 | 一般用在文章的标题上,h1~h6字体逐渐缩小 | |
段落标签 | 一般用于正文 | |
换行标签 | 在段落中换行 | |
水平线标签 | 一般用来分隔内容 | |
范围标签 | 一般为了突出部分内容、改变局部内容的时候使用,一般嵌套在其他的标签中使用 |
代码示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>文本标签title>
head>
<body>
<h1>一级标题h1>
<h2>二级标题h2>
<h3>三级标题h3>
<h4>四级标题h4>
<h5>五级标题h5>
<h6>六级标题h6>
<hr />
<hr color="bisque" size="8" />
<h4>段落测试h4>
<p>锄禾<span style="color: red;">日span>当午p>
<p>汗滴禾下土p>
<p>谁知盘中餐<br />粒粒皆辛苦p>
<hr />
body>
html>
页面显示:
<img src ="" />
src:图片的路径(推荐相对路径,即工程img包中的图片,../表示上一级目录)
title:[独有属性]
鼠标移到图片上时显示文字
图片无法显示时,显示文字
width:宽度(以px结尾,或者设置为占屏的百分比)
height:高度
代码示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>图片标签title>
head>
<body>
<img src ="../../img/小奶猫1.JPG" width="500px"/>
<img src="../../img/思考人生的猫.JPG" width="500px" usemap="#myMap" />
<map name="myMap">
<area shape="circle" coords="300,300,300" href="文本标签.html" title="常用标签"/>
<area shape="rect" coords="400,100,600,200" href="文本标签.html" title="还是常用标签" />
map>
body>
html>
页面显示:
此时点击第三张图的以(100,100)为圆心,100位半径的圆形区域或者以(400,100)(600,200)围成的矩形区域,会跳转到文本标签.html
一般用在导航上
有序标签:
<ol>
<li>标签1li>
<li>标签2li>
<li>标签3li>
<li>标签4li>
<li>标签5li>
ol>
无序标签:
<ul>
<li>标签1li>
<li>标签2li>
ul>
代码示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>列表标签title>
head>
<body>
<h1>无序列表h1>
<ul>
<li>无序标签1li>
<li>无序标签2li>
<li>无序标签3li>
<li>无序标签4li>
<li>无序标签5li>
ul>
<h1>有序列表h1>
<ol>
<li>有序标签1li>
<li>有序标签2li>
<li>有序标签3li>
<li>有序标签4li>
<li>有序标签5li>
ol>
body>
html>
页面显示:
定义描述标签:
一般用于图文的描述中
<dl>
<dt>标题dt>
<dd>描述1dd>
<dd>描述2dd>
dl>
布局标签:
一般作为容器,盛放其他标签
<div>div>
代码示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>定义描述标签title>
head>
<body>
<div style="border: 2px solid lightsalmon;">
<dl>
<dt>标题dt>
<dd>描述1dd>
<dd>描述2dd>
dl>
div>
<dl>
<dt><img src="../../img/咖啡店的猫猫.JPG" width="200px"/>dt>
<dd>姓名:呆呆dd>
<dd>技能:懵懵dd>
dl>
body>
html>
页面显示:
<a href="" target="">a>
href:路径、网址均可
target:目标
self:当前页面打开(默认)
blank:新页面打开
代码示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>页面间跳转超链接title>
head>
<body>
<a href="https://www.baidu.com/" target="_blank">点击在新页面打开百度a>
<br /><br />
<a href="https://www.csdn.net/" target = "_self">点击在当前页面打开CSDNa>
body>
html>
当一个页面长度超过一屏时,跳转到指定位置
这个定位可以实现本页面间的锚链接也可以实现不同页面间的锚链接
目标位置,定义锚点:
<a name = "锚点名称">a>
超链接跳转到定义的目标位置:
<a href = "锚点名称" target = "">自定义锚链接名称a>
代码示例:
DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>锚链接title>
head>
<body>
<a href = "#point3" target="_self">跳转至本网页的模块3a>
<br />
<br />
<a href = "超链接标签2.html#point3" target="_self">跳转至另一网页的模块333a>
<div style="height: 300px; background: lavender;">
模块1
div>
<div style="height: 300px; background: peachpuff;">
模块2
div>
<div style="height: 300px; background: lemonchiffon;">
<a name = "point3">a>
模块3
div>
body>
html>
页面显示:
当点击第一个超链接时,网页进度条下拉,模块3完全显示
另一网页与当前页面一模一样,点击第二个超链接时跳转到另一网页并进度条下拉至模块3
浏览器显示的内容都在body编写,因此之后的代码块仅为body部分
<table>
<tr>行
<th>th>列(一般表头单元格)
tr>
<tr>行
<td>td>列(一般内容单元格)
tr>
table>
------------------------------------------
table:
如果没有设置宽高,大小则按内容来定
border:边框
width:%占据页面的比例;实际高度px
cellpadding:内容距边线的距离
cellspacing:单元格与单元格之间的距离
tr:(行)
align:文本水平方向的位置left、center、right
valign:文本垂直
代码示例:
<h1>规则表格h1>
<table border="1" width="100%" height="200px" bgcolor="papayawhip" cellpadding="10" cellspacing="">
<tr align="center" valign="">
<th>序号th><th>商品名称th><th>价格th>
tr>
<tr>
<td>1td><td>曲奇td><td>100td>
tr>
<tr>
<td>2td><td>饼干td><td>200td>
tr>
table>
页面显示:
在规则表格的基础上添加行列的合并
不规则表格(跨行跨列等,即合并单元格)
colspan:跨列,即合并后面的表格
rowspan:跨行
代码示例:
<h1>不规则表格h1>
<table border="1" width="100%" height="200px" bgcolor="papayawhip" cellpadding="10" cellspacing="">
<tr>
<td colspan="3" align="center">个人简历td>
tr>
<tr>
<td>姓名td><td>憨憨td><td rowspan="3" align="center">照片td>
tr>
<tr>
<td>性别td><td>女td>
tr>
<tr>
<td>年龄td><td>20td>
tr>
table>
页面显示:
标题标签、逻辑分区标签
标题标签:<caption>caption>
逻辑分区标签:方便区分和整体控制
<thead>thead>表的标题
<tbody>tbody>表的内容
<tfoot>tfoot>表的总结内容
代码示例:
<h1>高级标签h1>
<p>标题标签和逻辑分区标签p>
<table border="1" width="100%" height="200px" bgcolor="papayawhip" cellpadding="10" cellspacing="">
<caption>资产负债表caption>
<thead style="background: papayawhip;">
<tr align="center" valign="">
<th>月份th><th>负债th>
tr>
thead>
<tbody style="background: peachpuff;">
<tr>
<td>1月td><td>1wtd>
tr>
<tr>
<td>2月td><td>4wtd>
tr>
tbody>
<tfoot style="background: plum;">
<tr>
<td>总计td><td>5wtd>
tr>
tfoot>
table>
页面显示:
所有
中的内容下文有关表单元素的代码都默认写在之间
表单元素的属性:
属性名称 | 描述 |
---|---|
id | 元素的唯一表示,不重复 |
name | 表单项元素的名称,数据想要提交,必须指定,提交数据到服务器之后,服务器通过name获取数据 |
value | 表单项元素的值,服务器获取数据通过name获取到的就是value |
type | 表示表单项元素的input的呈现形式(不是all都有) |
class | 表示样式名称 |
readonly | 表示只读,只能看不能改 |
disabled | 表示禁用,不能改而且背景是灰色 |
最重要的表单元素是元素,根据不同的 type 属性可以变化为多种形态
写在开始标签
(一部分为HTML5新增)
有些属性不需要值,例如disabled,等同于 disabled=“disabled”
属性 | 描述 | 适用于 |
---|---|---|
disabled | 输入字段是禁用的,被禁用的元素是不可用和不可点击的,被禁用的元素不会被提交 | |
maxlength | 规定输入字段的最大长度 | |
readonly | 规定输入字段为只读(无法修改) | |
size | 规定输入字段的宽度(以长度计) | |
value | 规定输入字段的初始值 | |
HTML5新增 | -------------------------------------------------------------------------------- | |
max | 规定输入字段的最大值 | number、range、date、datetime、datetime-local、month、time 、 week |
min | 规定输入字段的最小值 | number、range、date、datetime、datetime-local、month、time 、 week |
pattern (regexp) | 规定通过其检查输入值的正则表达式 | |
required | 规定输入字段是必需的(必需填写) | text、search、url、tel、email、password、date pickers、number、checkbox、radio、and file |
step | 规定输入字段的合法数字间隔 | number、range、date、datetime、datetime-local、month、time 、week |
height | 高度 | image |
width | 宽度 | image |
autocomplete | 规定表单或输入字段是否应该自动填写(设置为 on or off) | text、search、url、tel、email、password、datepickers、range 、 color |
autofocus | 布尔属性,如果设置则当页面加载时 元素自动获得焦点 | |
form | 规定 元素所属的一个或多个表单,如需引用一个以上的表单,使用空格分隔的表单 id 列表 | |
formaction | 规定当提交表单时处理该输入控件的文件的 URL,属性覆盖 | submit、image |
formenctype | 规定当把表单数据(form-data)提交至服务器时如何对其进行编码(仅针对 method=“post” 的表单),覆盖 | submit、image |
formmethod | 定义用以向 action URL 发送表单数据(form-data)的 HTTP 方法,覆盖 | submit、image |
formnovalidate | 布尔属性,如果设置则在提交表单时不对 元素进行验证,覆盖 | submit |
formtarget | 规定的名称或关键词指示提交表单后在何处显示接收到的响应,覆盖 | submit、image |
list | list 属性引用的 | |
multiple | 布尔属性,如果设置则允许用户在 元素中输入一个以上的值 | email 、 file |
pattern | 用于检查 元素值的正则表达式 | text、search、url、tel、email、 password |
placeholder | 文本框中显示的文字(在还没有输入内容的时候显示,输入内容后被覆盖) | text、search、url、tel、email 、 password |
<label for = "">标签名称label>
<input type="text" id = "" name = "" placeholder=""/>
id:元素的唯一标识,不推荐重复
name:表单元素的名称,数据提交时服务器通过name获取value
placeholder:文本框中显示的文字(在还没有输入内容的时候显示,输入内容后被覆盖)
lable中的for与input中的id对应,加了lable之后页面点击用户名后输入框会出现光标
代码示例:
<label for = "username">用户名:label>
<input type="text" id = "username" name = "uername" placeholder="请输入用户名"/>
页面显示:
定义供文本输入的单行输入字段
<input type="text" id = "" name = "" placeholder=""/>
id:元素的唯一标识,不推荐重复
name:表单元素的名称,数据提交时服务器通过name获取value
placeholder:文本框中显示的文字(在还没有输入内容的时候显示,输入内容后被覆盖)
代码示例:
用户名:<input type="text" id = "username" name = "uername" />
页面显示:
定义密码字段
<input type="password" id = "" name = "" placeholder=""/>
id:元素的唯一标识,不推荐重复
name:表单元素的名称,数据提交时服务器通过name获取value
placeholder:文本框中显示的文字(在还没有输入内容的时候显示,输入内容后被覆盖)
代码示例:
密码:<input type="password" id = "password" name = "password" placeholder="请输入密码"/>
页面显示:
定义单选按钮
<input type="radio" name = "" value="" />选项名称1
<input type="radio" name = "" value="" />选项名称2
单选按钮:
一般都是成组出现,name相同表示一组,只能选一个
name:表单元素的名称,数据提交时服务器通过name获取value
value:服务器通过name获取到的值
checked 表示默认选中(一般默认选第一个选项)
代码示例:
性别:<input type="radio" name = "gender" value="男" />男
<input type="radio" name = "gender" value="女" />女
<input type="radio" name = "gender" value="未知" checked=""/>未知
页面显示:
定义复选框。
复选框允许用户在有限数量的选项中选择零个或多个选项
<input type = "checkbox" name = "" value = "" />选项名称1
<input type = "checkbox" name = "" value = "" />选项名称2
复选框 type = "checkbox"
复选框都是成组出现,name相同表示一组,可以选多个
value:服务器通过name获取到的值
checked 表示默认选中(一般默认选第一个选项)
代码示例:
爱好:<input type = "checkbox" name = "hobby" value = "swim" />游泳
<input type = "checkbox" name = "hobby" value = "sing" />唱歌
<input type = "checkbox" name = "hobby" value = "dance" />跳舞
<input type = "checkbox" name = "hobby" value = "read" />看书
<input type = "checkbox" name = "hobby" value = "sleep" />睡觉
页面显示:
头像:<input type = "file" name = "" />
头像:<input type = "file" name = "" multiple="multiple"/>
复选框 type = "file"
name:表单元素的名称,数据提交时服务器通过name获取value
multiple:允许多选,即同时上传多个文件
代码示例:
头像:<input type = "file" name = "headImg" multiple="multiple"/>
页面显示:
与
<input type = "submit" value="" />
<input type = "reset" value="" />
<input type = "button" value="" />
value:服务器通过name获取到的值
<button type="submit">按钮名称button>
<button type="reset">按钮名称button>
<button type="button">按钮名称button>
<input type = "image" src="" width="" />
src:图片路径
代码示例:
<input type = "submit" value="注册" />
<input type = "reset" value="刷新" />
<input type = "button" value="按钮" />
<input type = "image" src="../../img/下帝视角.jpg" width="100px" />
<br />
<button type="submit">注册button>
<button type="reset">刷新button>
<button type="button">按钮button>
页面显示:
隐藏起来了,不影响用户看,但是程序员又能获取到数据
<input type="hidden" name = "" value=""/>
隐藏域
name:表单元素的名称,数据提交时服务器通过name获取value
value:服务器通过name获取到的值
代码示例:
<input type="hidden" name = "hanhan" value="66666666666666666"/>
页面显示:
无显示效果
序号 | 名称 |
---|---|
1 | color |
2 | date |
3 | datetime |
4 | datetime-local |
5 | |
6 | month |
7 | number |
8 | range |
9 | search |
10 | tel |
11 | time |
12 | url |
13 | week |
用于应该包含数字值的输入字段
对输入数字给定限制
代码示例:
请输入1~5范围内的一位数:
<input type="number" name="quantity" min="1" max="5">
页面显示:
用于包含一定范围内的值的输入字段
根据浏览器支持,输入字段能够显示为滑块控件
代码示例:
Points(0~10):
<input type="range" name="points" min="0" max="10">
页面显示:
用于应该包含日期的输入字段
根据浏览器支持,日期选择器会出现输入字段中
可以为日期添加限制
代码示例:
birthday:
<input type="date" name="birthday">
请输入 1980-01-01 之前的日期:<br>
<input type="date" name="bday" max="1979-12-31"><br><br>
请输入 2000-01-01 之后的日期:<br>
<input type="date" name="bday" min="2000-01-02"><br><br>
<input type="submit">
页面显示:
允许用户选择日期和时间(有时区)
根据浏览器支持,日期选择器会出现输入字段中(本文使用谷歌,不支持,因此只能手动输入)
代码示例:
请输入日期和时间:
<input type="datetime" name="bdaytime">
页面显示:
允许用户选择日期和时间(无时区)
根据浏览器支持,日期选择器会出现输入字段中
代码示例:
请选择日期和时间:
<input type="datetime-local" name="bdaytime">
页面显示:
允许用户选择月份和年份
代码示例:
选择月和年:
<input type="month" name="bdaymonth">
页面显示:
允许用户选择周和年。
根据浏览器支持,日期选择器会出现输入字段中
代码示例:
选择年和周:
<input type="week" name="year_week">
页面显示:
允许用户选择时间(无时区)
根据浏览器支持,时间选择器会出现输入字段中
代码示例:
请选取一个时间:
<input type="time" name="usr_time">
页面显示:
用于应该包含电子邮件地址的输入字段
根据浏览器支持,能够在被提交时自动对电子邮件地址进行验证
某些智能手机会识别 email 类型,并在键盘增加 “.com” 以匹配电子邮件输入
<input type = "email" name = "" />
格式必须为email型,否则会报错
name:表单元素的名称,数据提交时服务器通过name获取value
require:提交前必须填写,不能为空
代码示例:
邮箱:<input type = "email" name = "email" required="required"/>
页面显示:
用于应该包含颜色的输入字段
代码示例:
Select your favorite color:
<input type="color" name="favcolor" value="#ff0000">
页面显示:
用于包含电话号码的输入字段
目前只有 Safari 8 支持tel类型
代码示例:
Telephone:
<input type="tel" name="telephone">
页面显示:
用于包含 URL 地址的输入字段
根据浏览器支持,在提交时能够自动验证 url 字段
某些智能手机识别url类型,并向键盘添加 “.com” 以匹配 url 输入
代码示例:
请输入url:
<input type="url" name="homepage">
页面显示:
用于搜索字段(搜索字段的表现类似常规文本字段)
代码示例:
搜索CSDN:
<input type="search" name="scdn">
页面显示:
列表通常会把首个选项显示为被选选项,也通过添加 selected 属性来定义预定义选项
<select name="">
<option value = "属性值1">属性值1option>
<option value = "属性值2">属性值2option>
select>
下拉列表框
通过select自行选择,option给出选项
value:服务器通过name获取到的值
selected表示默认选中
代码示例:
选择日期:
<select name="month">
<option value = "1">1option>
<option value = "2">2option>
<option value = "3">3option>
<option value = "4">4option>
<option value = "5">5option>
<option value = "6">6option>
<option value = "7">7option>
<option value = "8">8option>
<option value = "9">9option>
<option value = "10">10option>
<option value = "11">11option>
<option value = "12">12option>
select>
页面显示:
定义多行输入字段(文本域)
<textarea rows="" readonly="" disabled="">
...
textarea>
文本域
<textarea>textarea>
rows:行高,默认多少行
cols:指定列数,每行多少字
readonly:只读
disabled:禁用,央视呈现灰色
代码示例:
协议:<textarea rows="10" readonly="readonly" disabled="disabled">
条款说明:
1.必须遵守......
2.......
...
textarea>
页面显示:
<input type = "submit" value="" />
<input type = "reset" value="" />
<input type = "button" value="" />
value:服务器通过name获取到的值
<button type="submit">按钮名称button>
<button type="reset">按钮名称button>
<button type="button">按钮名称button>
<input type = "image" src="" width="" />
src:图片路径
代码示例:
<input type = "submit" value="注册" />
<input type = "reset" value="刷新" />
<input type = "button" value="按钮" />
<input type = "image" src="../../img/下帝视角.jpg" width="100px" />
<br />
<button type="submit">注册button>
<button type="reset">刷新button>
<button type="button">按钮button>
页面显示:
标签 | 描述 |
---|---|
datalist | input标签定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值 |
keygen | 规定用于表单的密钥对生成器字段 |
output | 标签定义不同类型的输出,比如脚本的输出 |
用户在输入数据时能够看到预定义选项的下拉列表
元素的 list 属性必须引用
代码示例:
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
datalist>
页面显示:
HTML5中已移除
<iframe name = "" src="" >iframe>
name:名称
src:url,显示不同的网页
frameborder:边框 0和no都代表没有
width:宽
heigh:高
代码示例:
<iframe name = "baidu" src="https://www.baidu.com/" width=100% height="300px" >iframe>
<br />
<hr color="antiquewhite" size="4"/>
<iframe name = "CSDN" src="https://www.csdn.net/" width=100% height="300px" frameborder="0">iframe>
页面显示:
标签 | 描述 |
---|---|
article | 定义页面独立的内容区域 |
aside | 定义页面的侧边栏内容 |
bdi | 允许您设置一段文本,使其脱离其父元素的文本方向设置 |
details | 用于描述文档或文档某个部分的细节 |
dialog | 定义对话框,比如提示框 |
summary | 标签包含 details 元素的标题 |
header | 定义了文档的头部区域 |
footer | 定义 section 或 document 的页脚 |
nav | 定义导航链接的部分 |
progress | 定义任何类型的任务的进度 |
section | 定义文档中的节(section、区段) |
time | 定义日期或时间 |
wbr | 规定在文本中的何处适合添加换行符 |
使用
Format | MIME-type |
---|---|
MP3 | audio/mpeg |
Ogg | audio/ogg |
Wav | audio/wav |
使用
Format | MIME-type |
---|---|
MP4 | video/mp4 |
Ogg | audio/ogg |
WebM | video/webm |