前言
超文本标记语言是一种用于创建网页的标准标记语言。HTML是一种基础技术,常与CSS、JavaScript一起被众多网站用于设计网页、网页应用程序以及移动应用程序的用户界面。网页浏览器可以读取HTML文件,并将其渲染成可视化网页。HTML描述了一个网站的结构语义随着线索的呈现,使之成为一种标记语言而非编程语言。维基百科
语法
代码
1 2 3 4 5 6 7 8 9 10 11 12
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body>
<div></div>
</body> </html>
|
属性
属性来修饰元素
每个属性都有值
全局属性(Global Attributes)
每个标签都有自己的特有属性
大多数标签都支持的属性称为标准属性
id="":编号,当前页面绝对唯一
class="":类名
style="":样式
title="":标题
标签
文档标签
文档声明标签
HTML1
1
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/html1/DTD/xhtml1-strict.dtd">
|
HTML4
1
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
HTML5
文档的根标签
lang="":指定文档语言,屏幕阅读器会检测这个语言来朗读网页
en:英文
zh-CN:简体中文
头标签
文档元数据
- 元数据标签位于
head标签内部,在head标签中承载的信息一般用户在浏览器中是访问不到的,但是对于搜索引擎,它们抓取网页的方式一般是集中关注网页head标签内容
charset:字符编码集声明
charset="utf-8":网页字符编码
http-equiv:编译指令
http-equiv="refresh" content="5; http://localhost":倒计时5秒自动跳转网页
http-equiv="X-UA-Compatible" content="IE=edge":让IE8浏览器以最高版本的文档模式来渲染页面
name:文档级别的元数据
name="robots" content="all":允许爬虫爬取的范围
name="author" content="":网页作者
name="description" content="":网页描述
name="Copyright" content="":版权声明
name="keywords" content="":网页关键词,多个关键词用,分隔
name="viewport" content="width=device-width, initial-scale=1.0":视口设置,用于移动端适配
name="baidu-site-verification" content="":百度统计验证
文档标题
1 2 3
| <head> <title></title> </head>
|
外部资源链接
dns-reffetch:在没有跳转之前,解析DNS并进行协议握手
引入CSS文件
1
| <link rel="stylesheet" href="index.css">
|
引入图标文件
1
| <link rel="shortcut icon" href="favicon.ico">
|
1
| <link rel="icon" type="image/vnd.microsoft.icon" href="favicon.ico">
|
1
| <link rel="icon" type="image/x-icon" href="favicon.ico">
|
1
| <link rel="icon" href="favicon.ico">
|
1
| <link rel="icon" type="image/gif" href="favicon.gif">
|
1
| <link rel="icon" type="image/png" href="favicon.png">
|
定义可替换网站
1
| <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="https://example.com/rss">
|
1
| <link rel="alternate" href="https://example.com?print=true" media="print">
|
1
| <link rel="alternate" href="https://m.example.com" media="only screen and (max-width: 640px)">
|
1 2
| <link rel="alternate" href="https://example.com/page?lang=en" hreflang="en"> <link rel="alternate" href="https://example.com/page?lang=zh" hreflang="zh">
|
体标签
注释标签
块标签
文本标签
标题标签
段落标签
换行标签
水平线标签
字体加粗
字体斜体
字体下划线
字体删除线
文字上标
文字下标
插入字
文本高亮
字体标签
文本居中
超链接标签
href="":链接地址,如果属性值为
href="#":返回到本页
href="#id":通过id查找的锚点链接
target="":窗口名称
_self:缺省值,在当前标签页打开URL
_blank:在新标签页打开URL
_parent:如果超链接在iframe内部,则可以在父级(上一级)元素中打开页面
_top:如果超链接在多级iframe内部,则可以在顶级元素中打开页面
title="":链接提示文字
图片标签
支持的格式:.apng、.avif、.bmp、.gif、.ico、.cur、.jpg、.jpeg、.jfif、.pjpeg、.pjp、.png、.svg
src="":路径及名称
alt="":无效图片替代文本,屏幕阅读器会朗读此文本作为图片的内容
width="":宽
height="":高
border="":给图片的外层增加指定宽度的外边框。默认颜色为黑色,默认宽度为2px
title:当鼠标移到图片上面时显示的提示文字
允许跨域加载图片
1
| <img referrerpolicy="no-referrer" src="">
|
视频标签
width="":宽,默认宽为300px
height="":高,默认高为150px
src="":视频路径
type="video/mp4":类型,只支持mp4、ogg、webW三种格式
controls:显示控制
poster="":设置封面路径
autoplay:默认自动播放(chrome浏览器需要配合默认静音才会生效)
muted:默认静音
loop:自动循环播放
preload="":预加载视频
auto:缺省值,浏览器根据需要按需预加载
none:不预加载
metadata:预加载元数据
兼容性
1 2 3 4 5 6 7
| <video src=""> <source src=""> <source src=""> <source src=""> <p>当前浏览器不支持播放视频</p> </video>
|
音频标签
src="":音频路径
controls:显示控制
autoplay:默认自动播放(chrome浏览器需要配合默认静音才会生效)
muted:默认静音
loop:自动循环播放
preload="":预加载视频
auto:缺省值,浏览器根据需要按需预加载
none:不预加载
metadata:预加载元数据
兼容性
1 2 3 4 5 6 7
| <audio src=""> <source src=""> <source src=""> <source src=""> <p>当前浏览器不支持播放音频</p> </audio>
|
列表标签
有序列表
type="a":使用小写字母排序
type="A":使用大写字母排序
type="1":使用数字排序
start="2":从2开始排序
无序列表
type="disc":实心圆
type="circle":空心圆
type="square":实心方块
定义列表
- 定义列表,dl标签定义定义列表,dt标签定义标题,dd标签定义内容
- dt标签下可以描述多个dd标签,dt标签也可以有多个
1 2 3 4
| <dl> <dt></dt> <dd></dd> </dl>
|
表格标签
width="":表格宽度
height="":表格高度
align="":表格位置
border="":表格边框
cellpadding="":单元格内边距
cellspacing="":单元格外边距
bgcolor="":表格背景颜色
background="":表格背景图片
bordercolor="":边框颜色
完整表格
基本表格
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <table> <th> <td>字段1</td> <td>字段2</td> </th> <tr> <td>文本内容1</td> <td>文本内容2</td> </tr> <tr> <td>文本内容1</td> <td>文本内容2</td> </tr> </table>
|
具有语义化标签的表格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <table> <caption>标题</caption> <thead> <th> <td>字段1</td> <td>字段2</td> </th> </thead> <tbody> <tr> <td>文本内容1</td> <td>文本内容2</td> </tr> <tr> <td>文本内容1</td> <td>文本内容2</td> </tr> </tbody> <tfoot> <tr> <td>文本内容1</td> <td>文本内容2</td> </tr> </tfoot> </table>
|
表格合并
跨行列合并
rowspan="2":纵向合并单元格
1 2 3 4 5 6 7 8 9
| <table> <tr> <td rowspan="2">被合并的单元格</td> <td>文本内容2</td> </tr> <tr> <td>文本内容2</td> </tr> </table>
|
跨列行合并
colspan="2":横向合并单元格
1 2 3 4 5 6 7 8 9
| <table> <tr> <td colspan="2">被合并的单元格</td> </tr> <tr> <td>文本内容1</td> <td>文本内容2</td> </tr> </table>
|
表单标签
定义表单
method="":定义请求的方式
method="GET":以GET方式发送请求
method="POST":以POST方式发送请求
action="":提交表单到后端的路径
target="_blank":用新的页面发送请求
输入框
type="text":文本输入框
type="password":密码输入框,输入的文本每个字符都会显示为点
value="":默认值(选中后不会消失)
maxlength="":限制输入的字符数
placeholder="":占位符(选中后自动消失)
type="button":普通按钮
type="submin":提交按钮
type="reset":重置按钮
type="image":图形化按钮,通过src定义图片路径,通过alt定义缺省文本
type="radio":单选框,没有定义value时,value的默认值为on
type="checkbox":复选框,没有定义value时,value的默认值为on
type="range":范围条
min="":范围条最小值
max="":范围条最大值
type="number":数值输入框,只能填入数字,输入框最右侧会显示上下箭头用于调整数值
step="":上下箭头增量值,默认为1
type="date":日期输入框(年/月/日),最右侧会显示日期选择器按钮
type="time":时间输入框(时:分),最右侧会显示时间选择器按钮
type="datetime-local":日期和时间输入框(年/月/日 时:分),最右侧会显示日期和时间选择器按钮
type="month":月输入框(年月),最右侧会显示月选择器按钮
type="week":周输入框(年第周),最右侧会显示周选择器按钮
type="email":邮箱输入框,在提交时会进行正则校验
type="tel":电话输入框,移动端会显示只有数字的键盘
type="url":网址输入框,在提交时会进行正则校验
type="search":搜索框,输入的换行符会被清除,最右侧会显示清空按钮,移动端键盘中的回车会变成搜索按钮
type="file":文件选择器
type="color":颜色选择器
type="hidden":页面上不显示内容,但是需要发送请求的表单
readonly:只读表单
disable:被禁用的表单
checked:默认被选中
autofocus:自动聚焦
name="":发送请求时的key
value="":发送请求时的value
文本域
name="":名称
cols="":指定文本域的列数,默认是20列
rows="":指定文本域的行数,默认是2行
readonly="":只读模式
placeholder="":文本域为空时显示提示信息
下拉列表
name="":名称
size="":超出多少数据显示滚动条
multiple:设置多选
value=""选项的值
selected:预选中
1 2 3
| <select> <option></option> </select>
|
lable标签
- 结合表单元素使用,使lable包含的所有元素设置共同的焦点
1 2 3 4
| <lable for="info"> 文本内容: <input id="info"> </lable>
|
包含选项的文本框
- 配合文本框使用
- 文本框的list属性值要和datalist标签的id属性值相对应
- 通过option标签添加选项
1 2 3 4 5
| <input type="text" list="id"> <datalist id="id"> <option></option> <option></option> </datalist>
|
按钮
普通按钮
1
| <button type="button"></button>
|
提交按钮
1
| <button type="submit"></button>
|
重置按钮
1
| <button type="reset"></button>
|
语义化标签
布局标签
页眉标签
页脚标签
主要内容
导航栏标签
页面侧边栏
文章标签
段落标签
地址标签
bdo标签
dir="":设置文本的方向
ltr:从左到右
rtl:从右到左
引用标签
细节标签和概括标签
1 2 3 4
| <details> <summary>更多</summary> <p>详细内容<p> </details>
|
预保留格式标签
红宝石标签
rt:在上方的注释
rp:隐藏的注释
1 2 3
| <ruby> 张<rt>Zhang</rt><rp>不显示</rp> </ruby>
|
模板标签
- 内部嵌套的子元素都是不可见的
- 会在Vue框架中出现
时间标签
进度条
1
| <progress value="50" max="100"></progress>
|
模糊查询
1 2 3 4 5
| <input type="text" list="test"> <datalist id="test"> <option value="test1"></option> <option value="test2"></option> </datalist>
|
多媒体
画布
浮动框架标签
src="":指向的链接
frameborder="":边框宽度
height="":高度
width="":宽度
阻止iframe标签引用
1
| X-Frame-Options: sameorigin
|
“计算机输出”标签
定义计算机代码
定义键盘码
定义计算机代码样本
定义变量
定义预格式文本
引文、引用
定义缩写
定义地址
定义文字方向
定义长的引用
1
| <blockquote></blockquote>
|
定义短的引用
定义引用、引证
定义项目
自定义属性
1
| <div data-自定义属性名="值"></div>
|
字符实体
传送门
完成
参考文献
哔哩哔哩——张奇MAX
简书——wade3po
简书——hx永恒之恋
菜鸟笔记
CSDN——fengzhongdeyuyi1992
哔哩哔哩——web前端小清风