更新日期:2022/04/05
只要我们一起大笑,可怕的东西就会跑光光了。

目録

  • 1. HTML 简介
  • 2. DOCTYPE 声明
  • 3. head 文档信息
  • 4. 创建电子邮件链接
  • 5. map 图像映射
  • 6. 为 HTML 添加新元素/标签
  • 7. Canvas 画布
  • 8. SVG 简介
  • 9. HTML 拖放
  • 10. HTML 地理定位 Geolocation
  • 11. input 类型
  • 12. HTML 页面结构
  • 13. Html5 新增属性和事件
    • 13.1 HTML5 全局中新增属性
    • 13.2 HTML5 标签中新增属性
    • 13.3 HTML5 中新增事件
  • 14. Html 标签列表大全(字母排序)

1. HTML 简介

HTML(Hyper Text Markup Language)是一种用于创建网页的标准标记语言,主要用来实现静态页面。它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的 Internet 资源连接为一个逻辑整体。
HTML 文本是由 HTML 命令组成的描述性文本,HTML 命令可以说明文字,图形、动画、声音、表格、链接等。HTML5 将 Web 带入一个成熟的应用平台,在这个平台上,视频、音频、图像、动画以及与设备的交互都进行了规范

HTML 网页结构:只有 <body> 区域 (白色部分) 才会在浏览器中显示。

  • 常见字符实体
    虽然 html 不区分大小写,但实体字符对大小写敏感。
显示结果 描述 实体名称 实体编号
  空格 &nbsp;
< 小于号 &lt; <
> 大于号 &gt; >
& 和号 &amp; &
" 引号 &quot; "
' 撇号 &apos;(IE不支持)
¢ 美分 &cent; ¢
£ 英镑 &pound; £
¥ 日元 &yen; ¥
欧元 &euro;
§ 小节 &sect; §
© 版权 &copy; ©
商标 &trade;
® 注册商标 &reg; ®
× 乘号 &times; ×
÷ 除号 &divide; ÷
  • 结合音标符
    变音符号可以出现字母的上面和下面,或者字母里面,或者两个字母间。
    变音符号可以与字母、数字字符的组合来使用。
音标符 字符 结合音标符 输出结果
̀ a a&#768;
́ a a&#769;
̂ a a&#770;
̃ a a&#771;
̄ a a&#772;


2. DOCTYPE 声明

DOCTYPE 声明位于文档中的最前面的位置,处于 html 标签之前,有助于浏览器正确显示网页。它不是一个 HTML 标签,是用来告知 Web 浏览器页面使用了哪种 HTML 版本。网络上有很多不同的文件,如果能够正确声明 HTML 的版本,浏览器就能正确显示网页内容。在 HTML 4.01 中,<!DOCTYPE> 声明需引用 DTD (文档类型声明),因为 HTML 4.01 是基于 SGML (Standard Generalized Markup Language 标准通用标记语言)。DTD 指定了标记语言的规则,确保了浏览器能够正确的渲染内容。HTML5 不是基于 SGML,因此不要求引用 DTD。doctype 声明是不区分大小写的。

  • HTML 5
<!DOCTYPE html>
  • HTML 4.01 Strict
这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

` HTML 4.01 Transitional

这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  • HTML 4.01 Frameset
这个 DTD 与 HTML 4.01 Transitional 相同,但是允许使用框架集内容。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
  • XHTML 1.0 Strict
这个 DTD 包含所有 HTML 元素和属性,但不包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  • XHTML 1.0 Transitional
这个 DTD 包含所有 HTML 元素和属性,包括表象或过时的元素(如 font )。框架集是不允许的。结构必须按标准格式的 XML 进行书写。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • XHTML 1.0 Frameset
这个 DTD 与 XHTML 1.0 Transitional 相同,但是允许使用框架集内容。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  • XHTML 1.1
这个 DTD 与 XHTML 1.0 Strict 相同,但是允许您添加模块(例如为东亚语言提供 ruby 支持)。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">


3. head 文档信息

head 元素包含了所有的头部标签元素。在 head 元素中你可以插入脚本(scripts), 样式文件(CSS),及各种 meta 信息。
meta 如果设置了 name,说明是一个文档页面,适用于整个页面。
meta 如果设置了 http-equiv,说明是一个 pragma 指令,通常由Web服务器提供有关如何提供网页的信息。

  • viewport
    提供有关视口初始大小的提示,仅供移动设备使用。
key value description
width 一个正整数或者字符串 device-width 以 pixels (像素)为单位,定义 viewport(视口)的宽度
height 一个正整数或者字符串 device-height 以 pixels (像素)为单位,定义 viewport(视口)的高度
initial-scale 一个 0.0 到 10.0 之间的正数 定义设备宽度与视口大小之间的缩放比率
maximum-scale 一个 0.0 到 10.0 之间的正数 定义缩放的最大值
minimum-scale 一个 0.0 到 10.0 之间的正数 定义缩放的最小值
user-scalable 一个布尔值(yes 或 no) 用户能否缩放网页,默认为 yes
<!--定义文档类型-->
<!DOCTYPE html>
<!-- HTML 的 lang 属性可用于声明网页或部分网页的语言,这对搜索引擎和浏览器是有帮助的 -->
<html lang="zh-cn">
<head><!-- 该标签作为 HTML 文档中所有的链接标签的默认链接/链接目标 --><base href="//https://image.baidu.com/" target="_blank"><!-- meta 标签描述了一些基本的元数据,不显示在页面上,但会被浏览器解析,通常用于指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据等 --><!-- 中文网页需要声明编码,否则会出现乱码。有些浏览器(如 360 浏览器)会设置 GBK为默认编码,则你需要设置为 <meta charset="gbk"> --><meta charset="UTF-8"><!-- 把 content 属性关联到一个名称:描述内容 --><meta name="description" content="This is an interesting world!"><!-- 把 content 属性关联到一个名称:搜索引擎定义关键词 --><meta name="keywords" content="HTML,CSS,XML,JavaScript"><!-- 把 content 属性关联到一个名称:作者 --><meta name="author" content="Ouseki"><!-- 把 content 属性关联到一个名称:定义页面的最新版本 --><meta name="revised" content="Ouseki, 2022/04/04/"/><!-- 把 content 属性关联到一个名称:定义网页版权信息 --><meta name="copyright" content="Copyright 2022 Ouseki ITGodRoad. All rights reserved."><!-- 把 content 属性关联到一个名称:定义邮箱地址 --><meta name="reply-to" content="ling_l@sohu.com"><!-- 把 content 属性关联到一个名称: 启用 WebApp 全屏模式--><meta name="apple-mobile-web-app-capable" content="yes"><!-- 把 content 属性关联到一个名称: 定义搜索引擎爬虫的索引方式(禁用)all 允许机器人索引当前网页及其链接的网页; none 阻止机器人索引当前网页及其链接的网页index 允许机器人索引当前页面; noindex 阻止机器人索引当前页面follow 允许机器人跟踪页面上的链接; nofollow 阻止机器人跟踪页面上的链接 --><meta name="robots" content="none"><!-- 提供有关视口初始大小的提示,仅供移动设备使用 --><meta name="viewport"content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"><!-- 把 content 属性关联到 HTTP 头部:设定页面定时跳转,单位为秒。如果 content 只包含一个正数,则是重新加载页面的时间间隔 --><meta http-equiv="refresh" content="30;url=https://www.baidu.com"><!-- 1.定义了浏览器工具栏的标题;2.当网页添加到收藏夹时,显示在收藏夹中的标题;3.显示在搜索引擎结果页面的标题 --><title>ITGodRoad</title><!-- title 左侧显示 logo 等图片 --><link rel="icon" href="../../../static/image/icon/icon/icon_ITGodRoad.png"><!-- 定义了文档与外部资源之间的关系,通常用于链接到样式表 --><link rel="stylesheet" type="text/css" href="../../../static/css/common/default.css"/><!-- 定义了客户端的脚本文件 --><script src="../../../static/plugin/jquery-3.6.0.js"></script>
</head>
<body></body>
</html>


4. 创建电子邮件链接

使用 <a> 超链接时请始终将正斜杠添加到子文件夹。
假如这样书写链接:href="https://www.runoob.com/html",就会向服务器产生两次 HTTP 请求。这是因为服务器会添加正斜杠到这个地址,然后创建一个新的请求,就像这样:href="https://www.runoob.com/html/"
另外后面最好加上:rel="noopener noreferrer" 意思是不会打开其他的网站,因为恶意病毒可能会修改你的浏览器空白页地址。

<a href="http://www.runoob.com/" target="_blank" rel="noopener noreferrer">访问菜鸟教程!</a>
  • mailto
    在进行邮件内容发送时,需要使用关键字:mailto。
    注:多个邮件地址用 ; 隔开,空格用 %20 代替。
参数 描述
mailto:name@email.com 邮件接收地址
cc=name@email.com 抄送地址(Carbon Copy)
bcc=name@email.com 密件抄送地址(Blind Carbon Copy)
subject=subject text 邮件主题
body=body text 邮件内容
? 第一个参数分隔符
& 其他参数分隔符
  • 发送邮件示例
<a href="mailto:vip.ouseki@qq.com?subject=html超链接邮件测试&body=html使用mailto关键字发送邮件" rel="nofollow">发送邮件</a>

点击超链接会自动弹出邮箱,选择好我们发送的账户后,超链接中的内容就自动填好了。

发送刚才的邮件,之后到我们的目标邮箱查看邮件。


5. map 图像映射

map 标签用于客户端图像映射。图像映射指带有可点击区域的一幅图像。
area 元素永远嵌套在 map 元素内部。area 元素可定义图像映射中的区域。
图片中的 alt 属性是在图片不能正常显示时出现的文本提示,这对于使用纯文本浏览器的人是非常有用的。
图片中的 title 属性是在鼠标在移动到元素上的文本提示。
指定图像的高度和宽度是一个很好的习惯。如果图像指定了高度宽度,页面加载时就会保留指定的尺寸。如果没有指定图片的大小,加载页面时有可能会破坏 HTML 页面的整体布局。

<!DOCTYPE html>
<html lang="zh-cn">
<head><meta charset="UTF-8"><link rel="icon" href="../../../static/image/icon/icon/icon_ITGodRoad.png"><title>ITGodRoad</title>
</head>
<body>
<a href="mailto:vip.ouseki@qq.com?subject=html超链接邮件测试&body=html使用mailto关键字发送邮件" rel="nofollow">发送邮件</a>
<img src="../../../static/image/map/fruits.jpg" width="300px" height="300px" alt="fruits" usemap="#fruits">
<map name="fruits"><!--矩形:(左上角顶点坐标为(x1,y1),右下角顶点坐标为(x2,y2))--><area shape="rect" coords="230,170,290,210" alt="apple" href="../../../static/image/map/apple.jpg"><!--圆形:(圆心坐标为(X1,y1),半径为r)--><area shape="circle" coords="20,160,40" alt="orange" href="../../../static/image/map/orange.jpg"><!--多边形:(各顶点坐标依次为(x1,y1)、(x2,y2)、(x3,y3) ......)--><area shape="poly" coords="170,180,220,180,220,220,170,220" alt="cherry"href="../../../static/image/map/cherry.jpg">
</map>
</body>
</html>


6. 为 HTML 添加新元素/标签

JavaScript 语句 document.createElement(“ouseki”) 是为 IE 浏览器添加新的元素。

<!DOCTYPE html>
<html lang="zh-cn">
<head><meta charset="UTF-8"><link rel="icon" href="../../../static/image/icon/icon/icon_ITGodRoad.png"><title>ITGodRoad</title><script>document.createElement("ouseki");</script><style>ouseki {display: block;background-color: lightgray;padding: 20px;font-size: 30px;color: red;border-left: 10px solid darkgray;}</style>
</head>
<body>
<ouseki>自定义标签</ouseki>
</body>
</html>


7. Canvas 画布

canvas 元素用于图形的绘制,canvas 标签只是图形容器,必须通过脚本(通常是 JavaScript)来完成。

了解更多请访问 → 菜鸟教程参考手册

  • 创建一个画布
<!DOCTYPE html>
<html lang="zh-cn">
<head><meta charset="UTF-8"><link rel="icon" href="../../../static/image/icon/icon/icon_ITGodRoad.png"><title>ITGodRoad</title><style>canvas {border: 2px solid lime;display: block;margin: 50px auto;}</style>
</head>
<body>
<canvas id="myCanvas" width="300" height="300"></canvas>
</body>
</html>

  • 使用 JavaScript 来绘制图像
    canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成。
    ES6新增语法:let 定义变量,变量不可以再次定义,但可以改变其值;
    const 定义常量,常量不可以再次定义,也不可以改变其值。
声明方式 变量提升 暂时性死区 重复声明 初始值 作用域
var 允许 不存在 允许 不需要 非块级
let 不允许 存在 不允许 不需要 块级
const 不允许 存在 不允许 需要 块级
<!DOCTYPE html>
<html lang="zh-cn">
<head><meta charset="UTF-8"><link rel="icon" href="../../../static/image/icon/icon/icon_ITGodRoad.png"><title>ITGodRoad</title><link rel="stylesheet" type="text/css" href="../../../static/css/common/customTag.css"/><script src="../../../static/js/common/customTag.js"></script><style>canvas {border: 2px solid lime;display: block;margin: 50px auto;}</style><script>function draw() {// 首先,找到 <canvas> 元素const canvas = document.getElementById('myCanvas');if (!canvas.getContext) return;// 然后,创建 context 对象,getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。const ctx = canvas.getContext("2d");for (let i = 0; i < 6; i++) {for (let j = 0; j < 6; j++) {ctx.fillStyle = 'rgb(' + Math.floor(255 - 42.5 * i) + ',' +Math.floor(255 - 42.5 * j) + ',0)';ctx.fillRect(j * 50, i * 50, 50, 50);}}}</script>
</head>
<body>
<canvas onclick="draw()" id="myCanvas" width="300" height="300"></canvas>
</body>
</html>


8. SVG 简介

SVG(Scalable Vector Graphics)可伸缩矢量图形,是 W3C 推出的基于 XML 的二维矢量图形标准。SVG 可以提供高质量的矢量图形渲染,同时由于支持 JavaScript 和文档对象模型,SVG 图形通常具有强大的交互能力。另一方面,SVG 作为 W3C 所推荐的基于 XML 的开放标准,能够与其他网络技术进行无缝集成。

更多内容 → 菜鸟教程     SVG在线编辑器

在 HTML 中,能够将 SVG 元素直接嵌入 HTML 页面中
所有的点都是以原点为参照的,第四象限绘制。

<svg xmlns="http://www.w3.org/2000/svg" height="190"><polygon points="100,20 40,180 180,80 10,80 150,180"style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;"/>
</svg>





SVG

  • Canvas 与 SVG 的比较
    SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
    Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
Canvas SVG
依赖分辨率 不依赖分辨率
不支持事件处理器 支持事件处理器
弱的文本渲染能力 最适合带有大型渲染区域的应用程序(比如谷歌地图)
能够以 .png 或 .jpg 格式保存结果图像 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
最适合图像密集型的游戏,其中的许多对象会被频繁重绘 不适合游戏应用


9. HTML 拖放

拖放是一种常见的特性,即抓取对象以后拖到另一个位置。拖放操作期间,会有一个可拖放元素的半透明快照跟随着鼠标指针。在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。

  • 拖放事件
    注意:当从操作系统向浏览器中拖放文件时,不会触发 dragstart 和 dragend 事件。
事件 说明
ondragstart 网页元素开始拖动时触发
ondrag 被拖动的元素在拖动过程中持续触发
ondragenter 被拖动的元素进入目标元素时触发,应在目标元素监听该事件
ondragover 被拖动元素停留在目标元素之中时持续触发(每100毫秒触发一次),应在目标元素监听该事件
ondragleave 被拖动的元素离开目标元素时触发,应在目标元素监听该事件
ondrop 被拖动元素或从文件系统选中的文件,拖放落下时触发
ondragend 网页元素拖动结束时触发
  • 快速开始
<!DOCTYPE html>
<html lang="zh-cn">
<head><meta charset="UTF-8"><link rel="icon" href="../../../static/image/icon/icon/icon_ITGodRoad.png"><title>ITGodRoad</title><link rel="stylesheet" type="text/css" href="../../../static/css/common/customTag.css"/><script src="../../../static/js/common/customTag.js"></script><style>#container {display: flex;flex-direction: row;justify-content: space-evenly;}#div1, #div2 {width: 100px;height: 100px;border: 2px solid maroon;text-align: center;}img {padding-top: 25px;}</style><script>function allowDrop(ev) {ev.preventDefault();}function drag(ev) {ev.dataTransfer.setData("text/plain", ev.target.id);}function drop(ev) {let data = ev.dataTransfer.getData("text/plain");ev.target.appendChild(document.getElementById(data));}</script>
</head>
<body>
<div id="container"><div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"><img src="../../../static/image/icon/svg/american-football.svg" id="drag1" draggable="true"alt="american-football" width="50" height="50" ondragstart="drag(event)"/></div><div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
</div>
</body>
</html>

  • 设置元素为可拖放
    为了使元素可拖动,需要把 draggable 属性设置为 true
<img draggable="true">
  • 拖动监听事件 ondragstart
    规定当元素被拖动时要进行怎样的处理,一般是添加数据到数据传输对象
function drag(ev) {/*dataTransfer 属性保存着事件的数据:setData() 方法为拖拽数据添加一个项将目标元素的 width 和 id 添加到数据传输对象*/ev.dataTransfer.setData("text/plain", ev.target.width);ev.dataTransfer.setData("text/html", ev.target.id);/*dataTransfer 属性保存着事件的数据:定义拖拽效果copy 表明被拖拽的数据将从它原本的位置拷贝到目标的位置。move 表明被拖拽的数据将被移动。link 表明在拖拽源位置和目标位置之间将会创建一些关系表格或是连接。*/ev.dataTransfer.dropEffect = "move";
}
  • 进行放置 ondrop
    当放置被拖动的数据时,会发生 drop 事件。
function drop(ev) {// 获取目标的宽度并输出文本let width = ev.dataTransfer.getData("text/plain");ev.target.textContent = "该物体的宽度为:" + width;// 获取目标的 id 并将移动的元素添加到目标的 DOMlet data = ev.dataTransfer.getData("text/html");ev.target.appendChild(document.getElementById(data));
}


10. HTML 地理定位 Geolocation

HTML5 Geolocation API 用于获得用户的地理位置。
鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。

谷歌地图API教程 百度地图开放平台

  • getCurrentPosition
    使用 getCurrentPosition() 方法来获得用户的位置。
属性 说明
coords.latitude 十进制数的纬度
coords.longitude 十进制数的经度
coords.accuracy 位置精度
coords.altitude 海拔,海平面以上以米计
coords.altitudeAccuracy 位置的海拔精度
coords.heading 方向,从正北开始以度计
coords.speed 速度,以米/每秒计
timestamp 响应的日期/时间
  • 获取用户经纬度实例
    简单的地理定位,可返回用户位置的经度和纬度:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>ITGodRoad</title>
</head>
<body>
<p id="geolocation">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p>
<button onclick="getLocation()">点击获取经纬度</button>
<script>let geo = document.getElementById("geolocation");function getLocation() {if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(showPosition);} else {geo.innerHTML = "该浏览器不支持获取地理位置。";}}function showPosition(position) {geo.innerHTML = "纬度: " + position.coords.latitude +"<br>经度: " + position.coords.longitude;}</script>
</body>
</html>

  • 获取用户经纬度并添加错误处理实例
    简单的地理定位,如果获取地理位置失败不会有任何提示,让人摸不到头脑,所以需要加入错误处理
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>ITGodRoad</title>
</head>
<body>
<p id="geolocation">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p>
<button onclick="getLocation()">点击获取经纬度</button>
<script>let geo = document.getElementById("geolocation");function getLocation() {if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(showPosition, showError);} else {geo.innerHTML = "该浏览器不支持获取地理位置。";}}function showPosition(position) {geo.innerHTML = "纬度: " + position.coords.latitude +"<br>经度: " + position.coords.longitude;}function showError(error) {switch (error.code) {case error.PERMISSION_DENIED:geo.innerHTML = "用户拒绝对获取地理位置的请求。"break;case error.POSITION_UNAVAILABLE:geo.innerHTML = "位置信息是不可用的。"break;case error.TIMEOUT:geo.innerHTML = "请求用户地理位置超时。"break;case error.UNKNOWN_ERR:geo.innerHTML = "未知错误。"break;}}</script>
</body>
</html>

  • 接入百度地图 API 实例
    WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的坐标系。
    GCJ02:又称火星坐标系,是由中国国家测绘局制订的地理信息系统的坐标系统。由WGS84坐标系经加密后的坐标系。
    BD09:为百度坐标系,在GCJ02坐标系基础上再次加密。其中bd09ll表示百度经纬度坐标,bd09mc表示百度墨卡托米制坐标。
    非中国地区地图,服务坐标统一使用WGS84坐标。

百度地图拾取坐标系统

百度和谷歌 geolocation 的经纬度属性不同,百度的纬度是:e.point.lat ;经度是:e.point.lng

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>ITGodRoad</title><!--  引入百度地图 API  --><script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=1GdHRtGurMeBmRc90kF6XqI7hlvGyv62"></script><style>#map {width: 500px;height: 500px;border: 1px solid red;}#result {padding: 7px 10px;position: fixed;top: 10px;left: 20px;width: 300px;background: #fff;box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);border-radius: 7px;z-index: 99;}#cityName {width: 170px;margin-right: 10px;height: 25px;border: 1px solid rgba(27, 142, 236, 0.5);border-radius: 5px;}button {border: 1px solid rgba(27, 142, 236, 0.5);border-radius: 5px;background: rgba(27, 142, 236, 0.5);color: #fff}</style>
</head>
<body>
<div id='result'><label>城市名:<input type="text" id="cityName" list="cities" value="长春" placeholder="请选择城市"/></label>
</div>
<datalist id="cities"><option value="吉林"><option value="北京"><option value="四川"><option value="广东"><option value="上海">
</datalist>
<br/>
<br/>
<p id="geolocation">点击按钮获取您当前坐标(可能需要比较长的时间获取):</p>
<button onclick="getLocation()">点击获取经纬度</button>
<br/>
<br/>
<div id="map"></div>
<script>let geo = document.getElementById("geolocation");function getLocation() {initialize();if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(showPosition, showError);} else {geo.innerHTML = "该浏览器不支持获取地理位置。";}}function showPosition(position) {geo.innerHTML = "纬度: " + position.coords.latitude +"<br>经度: " + position.coords.longitude;}function showError(error) {switch (error.code) {case error.PERMISSION_DENIED:geo.innerHTML = "用户拒绝对获取地理位置的请求。"break;case error.POSITION_UNAVAILABLE:geo.innerHTML = "位置信息是不可用的。"break;case error.TIMEOUT:geo.innerHTML = "请求用户地理位置超时。"break;case error.UNKNOWN_ERR:geo.innerHTML = "未知错误。"break;}}function initialize() {// 创建Map实例var map = new BMap.Map('map');var city = document.getElementById("cityName").value;if (typeof (city) == "undefined" || city === '' || city == null) {// 初始化地图,设置中心点坐标和地图级别map.centerAndZoom(new BMap.Point(125.******, 43.*****), 15);} else {// 用城市名设置地图中心点map.centerAndZoom(city, 11);}// 设置地图显示的城市map.setCurrentCity(city);// 开启鼠标滚轮缩放map.enableScrollWheelZoom(true);// 添加地图类型控件map.addControl(new BMap.MapTypeControl({mapTypes: [// 标准地图BMAP_NORMAL_MAP,// 混合地图BMAP_HYBRID_MAP]}));}</script>
</body>
</html>


11. input 类型

注意:并不是所有的主流浏览器都支持新的 input 类型,不过您已经可以在所有主流的浏览器中使用它们了。即使不被支持,仍然可以显示为常规的文本域。

  • color
<input type="color"/>

  • range
<input type="range"/>

  • date
<input type="date"/>

  • time
<input type="time"/>

  • datetime-local
<input type="datetime-local"/>

  • month
<input type="month"/>

  • week
<input type="week"/>


下列类型在谷歌浏览器上无特殊样式,不做展示。

  • url
  • number
  • datetime
  • email
  • search
  • tel


12. HTML 页面结构

  • 结构元素
    header 元素,表示页面中一个内容区块或整个页面的页眉。
    nav 元素,表示页面中的导航链接。
    hgroup 元素,用于对页面中一个区块或整个页面的标题进行组合。
    article 元素,表示页面中的一块与上下文不相关的独立内容,比如博客中的一篇文章。
    section 元素,表示页面中一个内容区块,比如章节。
    aside 元素,表示article内容之外的内容,辅助信息。
    figure 元素,表示媒介内容的分组,以及它们的标题。
    footer 元素,表示页面中一个内容区块或整个页面的页脚。

  • aside 元素
    代表跟文档的主内容区相关,但它又独立于主内容区,并且可以被单独拆分出来,而不会对整体内容产生影响。通常表现为侧边栏、说明、提示、引用、附加注释、广告等。如,在经典的页面布局中,页面被分为 header、main、aside、footer 四个部分。
  • main 元素
    标签规定文档的主要内容。元素中的内容对于文档来说应当是唯一的。它不应包含在文档中重复出现的内容,比如侧栏、导航栏、版权信息、站点标志或搜索表单。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ITGodRoad</title>
</head>
<body><!-- 整个页面的页眉 --><header><p>Posted by: Ouseki</p><p><time pubdate datetime="2021-08-04"></time></p></header><!-- 页面中的导航链接 --><nav><a href="/html/">HTML</a> | <a href="/css/">CSS</a> | <a href="/js/">JavaScript</a>| <a href="/jquery/">jQuery</a></nav><!-- 文档的主要内容 --><main><h1>Web 浏览器</h1><p>Google Chrome、Firefox 以及 Internet Explorer 是目前最流行的浏览器。</p><!-- 独立内容 --><article><h1>Google Chrome 浏览器</h1><p>Google Chrome 浏览器是由 Google 开发的一款免费的开源 web 浏览器,于 2008 年发布。</p></article><!-- 独立内容 --><article><!--定义文章的页眉--><header><h1>Internet Explorer 9</h1><p><time pubdate datetime="2011-03-15"></time></p></header><h1>Internet Explorer 浏览器</h1><p>Internet Explorer 浏览器由微软开发的一款免费的 web 浏览器,发布于 1995 年。</p></article></main><!-- 整个页面的页脚 --><footer><p>Posted by: Ouseki</p><p><time pubdate datetime="2020-08-04"></time></p></footer>
</body>
</html>


13. Html5 新增属性和事件

13.1 HTML5 全局中新增属性

属性 说明
contenteditable 规定元素内容是否可编辑
contextmenu 规定元素的上下文菜单。上下文菜单在用户点击元素时显示
data-* 用于存储页面或应用程序的私有定制数据
draggable 规定元素是否可拖动
dropzone 规定在拖动被拖动数据时是否进行复制、移动或链接
hidden 隐藏元素
spellcheck 规定是否对元素进行拼写和语法检查
translate 规定是否应该翻译元素内容

13.2 HTML5 标签中新增属性

属性 说明
autocomplete 属性规定 form 或 input 域应该拥有自动完成功能
autofocus 属性规定 form 或 input 域在页面加载时,自动获得焦点
required 属性规定必须在提交之前填写输入域(不能为空)
placeholder 属性提供一种提示(hint),描述输入域所期待的值
pattern 属性规定用正则表达式验证 input 域的值
multiple 属性规定输入域中可选择多个值
novalidate 属性规定在提交表单时不应该验证 form 或 input 域
height、width 属性规定用于 image 类型的 input 标签的图像高度和宽度
list 属性规定输入域的 datalist。datalist 是输入域的选项列表
min、max、step 属性用于为包含数字或日期的 input 类型规定限定(约束)
form 属性规定输入域所属的一个或多个表单
formaction 重写表单的 action 属性
formenctype 重写表单的 enctype 属性
formmethod 重写表单的 method 属性
formnovalidate 重写表单的 novalidate 属性
formtarget 重写表单的 target 属性

13.3 HTML5 中新增事件

  • window 事件
事件 说明
onafterprint 文档打印之后运行的脚本
onbeforeprint 文档打印之前运行的脚本
onbeforeunload 文档卸载之前运行的脚本
onerror 在错误发生时运行的脚本
onhashchange 当文档已改变时运行的脚本
onmessage 在消息被触发时运行的脚本
onoffline 当文档离线时运行的脚本。判断是否有网络
ononline 当文档上线时运行的脚本
onpagehide 当窗口隐藏时运行的脚本
onpageshow 当窗口成为可见时运行的脚本
onpopstate 当窗口历史记录改变时运行的脚本
onredo 当文档执行撤销(redo)时运行的脚本
onstorage 在 Web Storage 区域更新后运行的脚本
onundo 在文档执行 undo 时运行的脚本
  • form 事件
事件 说明
oncontextmenu 当上下文菜单被触发时运行的脚本
onformchange 在表单改变时运行的脚本
onforminput 当表单获得用户输入时运行的脚本
oninvalid 当元素无效时运行的脚本
  • mouse 事件
事件 说明
ondrag 元素被拖动时运行的脚本
ondragend 在拖动操作末端运行的脚本
ondragenter 当元素元素已被拖动到有效拖放区域时运行的脚本
ondragleave 当元素离开有效拖放目标时运行的脚本
ondragover 当元素在有效拖放目标上正在被拖动时运行的脚本
ondragstart 在拖动操作开端运行的脚本
ondrop 当被拖元素正在被拖放时运行的脚本
onmousewheel 当鼠标滚轮正在被滚动时运行的脚本
onscroll 当元素滚动条被滚动时运行的脚本
  • touch 事件
事件 说明
touchstart 当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发
touchmove 当手指在屏幕上滑动的时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动
touchend 当手指从屏幕上离开的时候触发
touchcancel 当系统停止跟踪触摸的时候触发。关于这个事件的确切出发时间,文档中并没有具体说明


14. Html 标签列表大全(字母排序)

高亮文本表示HTML5新增的标签,删除线表示HTML5中已废除属性

标签 说明/定义
<!--...--> 注释
<!DOCTYPE> 文档注释
<a> 超链接
<abbr> 缩写
<acronym> 首字母缩写
<address> 文档作者或拥有者的联系信息
<applet> 嵌入的 applet
<area> 图像映射中的区域
<article> 一个文章区域
<aside> 页面的侧边栏内容
<audio> 音频内容
<b> 粗体
<base> 页面中所有链接的基准URL
<basefont> 基准字体,颜色或尺寸
<bdo> 允许您设置一段文本,使其脱离其父元素的文本方向设置
<bdi> 文本显示的方向
<big> 大号文本
<blockquote> 长的引用
<body> 文档的主体
<br> 换行
<button> 按钮
<canvas> 图形(基于 JavaScript 的绘图 API)
<caption> 表格标题
<center> 居中文本
<cite> 引用
<code> 计算机代码文本
<col> 表格列的属性
<colgroup> 表格列的分组
<command> 命令按钮
<datalist> 下拉列表(定义 input 可能的值)
<dd> 定义列表中项目的描述
<del> 删除文本
<details> 描述文档或文档某个部分的细节
<dfn> 定义项目
<dfn> 定义项目
<dialog> 对话框,比如提示框
<dir> 目录列表
<dl> 定义列表
<dt> 定义的项目
<em> 强调文本
<embed> 外部交互内容或插件
<fieldset> 围绕表单中元素的边框
<figcaption> figure 元素的标题
<figure> 媒介内容的分组,以及它们的标题
<font> 字体、尺寸和颜色
<footer> section 或 page 的页脚
<form> 表单
<frame> 子窗口(框架)
<frameset> 框架的集
<h1> to <h6> 标题1 到标题6
<head> 关于文档的信息
<header> section 或 page 的页眉
<hgroup> 有关文档中的 section 的信息
<hr> 水平线
<html> html 文档
<i> 斜体文本
<iframe> 行内的子窗口(框架)
<img> 图像
<input> 输入域
<ins> 插入文本
<kbd> 键盘文本
<keygen> 生成密钥
<label> 表单控件的标注
<legend> fieldset 中的标题
<li> 列表的项目
<link> 文档与外部资源的关系
<main> 文档的主体部分
<map> 图像映射
<mark> 有记号的文本
<menu> 菜单列表
<meta> 元信息
<meter> 预定义范围内的度量
<nav> 导航链接
<noframes> 对不支持框架的用户的替代内容
<noscript> 对不支持客户端脚本的用户的替代内容
<object> 嵌入对象
<ol> 有序列表
<optgroup> 选项组
<option> 下拉列表中的选项
<output> 输出的一些类型
<p> 段落
<param> 为对象定义参数
<pre> 预格式化文本
<progress> 任何类型的任务的进度
<q> 短的引用
<rp> 若浏览器不支持 ruby 元素显示的内容
<rt> ruby 注释的解释
<ruby> ruby 注释
<s> 加删除线的文本
<samp> 样本计算机代码
<script> 脚本
<section> 文档中的节
<select> 可选列表
<small> 小号文本
<source> 媒介源
<span> 文档中的 section
<strike> 加删除线的文本
<strong> 强调文本
<style> 样式定义
<sub> 下标文本
<summary> details 元素的标题
<sup> 上标文本
<table> 表格
<tbody> 表格的主体
<td> 表格单元
<textarea> 多行的文本输入控件
<tfoot> 表格的脚注
<th> 表格中的表头单元格
<thead> 表格中的表头内容
<time> 日期/时间
<title> 文档的标题
<tr> 表格行
<track> 媒介规定外部文本轨道
<tt> 打字机文本
<u> 下划线文本
<ul> 无序列表
<var> 变量
<video> 视频
<wbr> 在文本中的何处适合添加换行符
<xmp> 预格式文本

【前端三剑客】HTML 超文本标记语言相关推荐

  1. Web前端之HTML超文本标记语言

    文章目录 一.Web前端开发介绍 1.Web前端开发概述 1)什么是Web开发? 2)Web前端开发核心技术 (1)HTML语言(超文本标记语言,相当于一个整体的框架) (2)CSS(层叠样式表,用来 ...

  2. 带你了解前端之HTML超文本标记语言

    文章目录 前端简介 超文本传输协议前戏 HTTP超文本传输协议 HTML简介 head内常见标签 body内常见标签 块儿级标签与行内标签 boby内基本符号 body内布局标签 body内常见标签 ...

  3. Web前端—01HTML超文本标记语言

    文章目录 一.Wed前端开发介绍 1.Web概述 2.Web起源 3.Web的特点 4.Web工作原理 5.URL介绍 二.HTML网页结构 1.HTML介绍 2.HTML基本结构 3.文档类型 4. ...

  4. python进阶之web前端(01—HTML超文本标记语言)

    目录 01.Web前端开发介绍 1.Web前端开发概述 2.Web起源 3.Web特点 4.Web工作原理 5.URL介绍 02.HTML网页结构 1.HTML基本结构 2.HTML文档类型 3.HT ...

  5. python前端——HTML超文本标记语言、CSS层叠样式表

    01.Web前端开发介绍 1.Web前端开发概述 1)什么是Web开发? 前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术. ...

  6. python---Web前端HTML(超文本标记语言)

    文章目录 Web前端开发介绍 Web概述 Web起源 Web的特点 Web工作原理 URL介绍 HTML网页结构 HTML基本结构 HTML文档规范与注释 HTML标签 文本标签 列表标签 图片标签i ...

  7. 040_初识 web 前端 HTML 超文本标记语言

    文章目录 1. web前端开发技术 2. HTML 页面结构 3. HTML 标签 3.1 文本标签 3.2 换行标签 3.3 列表标签 3.3 div 和 span 标签 3.4 图片标签 3.5 ...

  8. Web前端(一)HTML超文本标记语言

    文章目录 一.Web前端开发介绍 1.Web概述 2.Web起源 3.Web的特点 4.Web工作原理 5.URL介绍 二.HTML网页结构 1.HTML基本结构 2.HTML文档类型 3.HTML文 ...

  9. HTML教程,带你轻松掌握html超文本标记语言,web前端学习必备

    有些初学web前端的小伙伴会比较迷惑,HTML到底是什么呢? 这里解释一下,HTML称为超文本标记语言,是一种标识性的语言. 它包括一系列标签,通过这些标签可以将网络上的文档格式统一,使分散的Inte ...

  10. web前端介绍_html-超文本标记语言

    web 前端简介 1. web1.0 时代的网页制作 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件应用程序有两 ...

最新文章

  1. Python用urlib爬虫基础及格式入门
  2. c# 5.0入门经典笔记
  3. [转]有关IIS的虚拟目录的控制总结
  4. JPA/Hibernate实体类定义联合主键@IdClass注解的使用
  5. 详说 Subversion备份
  6. 《HTML5 开发实例大全》——1.26 使用鼠标光标拖动网页中的文字
  7. 理想制动力分配曲线matlab源代码_宝马进入“血拼”状态,动力倍儿棒
  8. 利用ASPJPEG组件生成中文验证码
  9. 图像语义分割(20) 通过图像合成方法检测训练中未出现的类别未知的物体
  10. 深入学习java虚拟机第二版学习笔记
  11. Latex英文论文模板汇总(elsevier、arXiv、IEEE Access)
  12. 谷歌flutter_在Flutter中使用Google Pay Through Stripe接受付款
  13. 抖音巨量百应怎么发福袋?四川鹰迪
  14. 适合计算机课堂玩的游戏,学校上信息课经常玩的几个游戏,你玩过几个?(一)...
  15. Win10子系统错误——WslRegisterDistribution failed with error: 0x80070057
  16. php全部转换成小写,php strtolower字母转换小写
  17. python画椭圆turtle_用python-turtle优雅的画椭圆
  18. 使用diagrams.net(draw.io)绘制思维导图
  19. 水溶性CdS/ZnS量子点(硫化镉/硫化锌量子点)基团:PEG-NH2、PEG-COOH、MPA-COOH、GSH
  20. example的and和or连用强硬方式

热门文章

  1. 海量遥感数据处理与GEE云计算技术应用
  2. 英语音标学习顺口溜集锦
  3. Linux网络编程之Socket套接字
  4. 移动通信网络频段大全
  5. TOEFL OG 解读(一)
  6. python爬虫——BeautifulSoup库函数find_all()
  7. 中国最早的计算机主机有多大,我国第一台计算机哪一年研制成功
  8. 组态王安装步骤及个别异常解决
  9. Guitar Pro 7教你怎么将木吉他改为电吉他
  10. 洛谷——P2384 最短路