根元素 <html>
文档元数据<head>
<meta charset='utf-8'>
<title>
<base href=''>
<link href='' rel=''>
- 提供可替换的样式表:
<link href="default.css" rel="stylesheet" title="Default Style">
- 预加载
<link rel="preload" href="style.css" as="style">
<link rel="preload" href="main.js" as="script">
文档内容<body>
内容分区
文档主体<main>
标题<h1>-<h6>
*头部标题<header>
*独立内容<article>
*侧边栏内容<aside>
*内容导航<nav>
*内容分区<section>
*底部页脚<footer>
文本内容
块级容器<div>
行内容器<span>
块级段落<p>
有序列表<ol>
无序列表<ul>
列表条目<li>
描述列表<dl>、<dt>、<dd>
锚元素<a href='' target='_blank'>
缩写元素<abbr title=''>
图片和多媒体
图片<img src='' alt=''>
- 使用
srcset
、sizes
属性
<img src="clock-demo-thumb-200.png"
alt="Clock"
srcset="clock-demo-thumb-200.png 200w,
clock-demo-thumb-400.png 400w"
sizes="(min-width: 600px) 200px, 50vw">
*图片引用<figure>、<figcaption>
*音频<audio src='' autoplay>
*视频<video src='' autoplay poster='' controls>
*多格式资源<source>
表格内容
表格<table>
表格标题<caption>
头部行<thead>
主体行<tbody>
尾部行<tfoot>
单行<tr>
表格头与表格数据<th>、<td>
列组<colgroup>、<col>
- 跨列样式(span表示该
<col>
元素横跨列数)
<colgroup>
<col>
<col span="2" class="batman">
<col span="2" class="flash">
</colgroup>
表单内容
表单元素<form>
- accept-charset 属性:一个空格分隔或逗号分隔的列表,此列表包括了服务器支持的字符编码
- action 属性:处理此表单信息的程序所在的URL。此值可以被
<button>
或者<input>
元素中的formaction
属性覆盖 - autocomplete 属性:指示 input 元素是否能拥有由浏览器自动补全的一个默认值。可被属于此表单的子元素的
autocomplete
属性覆盖 - enctype属性:当
method
属性值为post
时,enctype 就是将表单的内容提交给服务器的 MIME 类型application/x-www-form-urlencoded
:未指定属性时的默认值。multipart/form-data
:此值用于一个type
属性设置为 “file” 的<input>
元素。text/plain
:(HTML5)- 注:此值可以被
<button>
或者<input>
元素中的formenctype
属性覆盖
- method 属性:浏览器使用这种 HTTP 方式来提交 表单. 可能的值有:
post
:HTTP POST 方法;表单数据会包含在表单体内然后发送给服务器.get
:HTTP GET 方法;表单数据会附加在action
属性的URI中,并以 ‘?’ 作为分隔符,得到的 URI 再发送给服务器。通常表单仅包含ASCII字符时,考虑使用这种方法dialog
:Use when the form is inside a[<dialog>](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/dialog)
element to close the dialog when submitted.
此值可以被 [<button>](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/button)
、[<input type="submit">](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input/submit)
或 [<input type="image">](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/input/image)
元素中的 [formmethod](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/button#attr-formmethod)
属性覆盖。
按钮<button name=''>
- form属性:表示button元素关联的form元素(id)
- type属性
- sumbit:将表单数据提交给服务器。默认值
- button:没有默认行为,不向服务器提交数据
- menu:打开一个由指定
<menu>
元素进行定义的弹出菜单
- value属性:与表单数据的提交按钮相关联
多行文本<textarea>
表单输入<input type='' name='' value=''>
- type属性
- type=”checkbox”:多选框。
value
属性必须,可选checked
属性 - type=”date”;日期。可选
value
属性,设置默认值yyyy-mm-dd
- type=”number”:浮点数。可选
value
属性,设置默认值- 占位符:
placeholder="Multiple of 10"
- 步进大小:
step="10"
默认为1,允许小数值 - 指定最小和最大值:
min="0" max="100"
- 控制输入框:css控制大小、验证
- 提供建议值:
list
属性指向datalist元素
(id)
- 占位符:
- type=”password”:密码
- 设置长度:
minlength="4" maxlength="8"
- 设置控件大小:
size='10'
。以像素为单位,初始控件默认20 - 指定输入模式:
inputmode="numeric"
- 设置值必须输入:
required
- 设置长度:
- type=”radio”:单选框
- type=”text”:单行文本
- 文本框为空时显示的一个示例值:
placeholder=''
- 指示文本框有多少个字符宽度的数字:
size="10"
- 文本框为空时显示的一个示例值:
- type=”checkbox”:多选框。
- 全局属性
- form:此元素属于一个
<form>
表单,表单的 id 就是属性的值 - list:指向 id 为 list 属性值的
<datalist>
元素,提供建议值
- form:此元素属于一个
下拉选项<select name=''>
- form属性:select所关联的form表单 ,表单的 id 就是属性的值
- required属性:规定select的值不能为空
*表单可选值列表<datalist>、<option>
<label for="ice-cream-choice">Choose a flavor:</label>
<input list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice" />
<datalist id="ice-cream-flavors">
<option value="Chocolate">
<option value="Coconut">
<option value="Mint">
<option value="Strawberry">
</datalist>
交互元素及web组件
*内含信息挂件<details>
、<summary>
- 默认详细信息需
click
或focus
来切换,可使用open全局属性设置为默认打开 - 可通过设置css自定义控件图标及相应样式
<details open>
<summary>Details</summary>
<p>Something small enough to escape casual notice.</p>
</details>
内容模板<template>
- 特点:元素内容不会被渲染,运行时使用JavaScript实例化
占位符<slot>
- 特点:Web组件内的一个占位符,可以使用自己的标记填充
- 具名插槽:拥有name属性的插槽叫具名插槽
canvas
canvas 标签定义画布即图形容器,必须使用脚本( javascript )来绘制图形,默认<canvas>
元素没有边框和内容。
<canvas id="myCanvas" width="200" height="100" style="border:1px solid #000000;">
</canvas>
全局属性
- id:定义了一个全文档唯一的标识符。它用于在链接、脚本和样式中辨识元素
- class:一个以空格分隔的元素的类名(classes )列表,它允许 CSS 和 Javascript 通过类选择器或DOM方法来选择和访问特定的元素
contenteditable
一个枚举属性,表示元素是否可被用户编辑。若可以,浏览器会修改元素的部件以允许编辑
data-*
自定义数据属性的属性,可在所有 HTML 元素上嵌入自定义数据属性,通过脚本与 HTML 之间进行专有数据的交换
<div id="user" data-id="1234" data-user="ndoe" data-date-of-birth>John Doe
</div>
<script>
var el = document.querySelector('#user');
// el.id == 'user'
// el.dataset.id === '1234'
// el.dataset.user === 'ndoe'
// el.dataset.dateOfBirth === ''
</script>
*draggable
一个枚举类型的属性,用于标识元素是否允许使用拖放操作 Drag and Drop API 拖动。文本选择、图像和链接默认可拖拽,其他的 HTML 元素可拖动必须满足:
- draggable 属性设置成 true
- 为拖动事件添加一个监听器
dragstart
- 在定义的监听器中设置拖动数据
event.dataTransfer.setData(format, data)
<div draggable="true"
ondragstart="event.dataTransfer.setData('text/plain', 'dragged')">
This text <strong>may</strong> be dragged.
</div>
is
允许指定标准HTML元素像已注册的自定义内置元素一样工作
tabindex
整数属性,指示元素可否获取输入焦点(可聚焦),是否应该参与顺序键盘导航,如果是,则表示哪个位置
- 负值:该元素可聚焦的,但不可通过顺序键盘导航到达
0
:该元素可通过顺序键盘导航到达,但其相对顺序由平台约定- 正值:该元素可通过顺序键盘导航到达,聚焦顺序是 tabindex 的增加值。若多个元素共享相同的
tabindex
,则相对顺序遵循在文档中的相对位置