HTML
html
vs xhtml
HTML
(Hypertext Markup Language
): 超文本标记语言,是网页的文件格式。HTML
不是编程语言,是一种描述性标记语言。 语法:<tag>content</tag>
HTML
特点HTML
对空格、tab
、换行忽略- 空白折叠 : 标签内的文字,多个空格、
tab
、换行,会被压缩为一个空格。 <h1>
标签一般只能有一个
XHTML
(Extensible Hypertext Markup Language
): 可扩展超文本标记语言,通俗讲就是更加严格的HTML
。要求标签闭合、标签属性小写,属性用引号。除了表单元素以外的所有元素,都应该用
id
而不是name
。
<!-- 1: 文档声明 -->
<!DOCTYPE html>
<!-- 2: html 标签: 标记这是页面的开始 -->
<html>
<!-- 3: head 标签: 网页的头部内容 -->
<head>
<meta charset="utf-8" />
<title>我是网页的标题</title>
</head>
<!-- 4: body 标签: 网页的身体内容 -->
<body>
<h1>我是大标题</h1>
<p>我是内容</p>
</body>
</html> <!-- 这是页面的结束 -->
<!-- DOCTYPE: 声明为 xhtml 类型 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- xmlns: 表示 XML 命名空间的属性。XML 命名空间是对元素和属性名称的一种限定,以避免混淆重复的名称。 -->
<!-- xmlns: 标识当前页面使用 W3C 的 XHTML 标准。 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>我是网页的标题</title>
</head>
<body>
<h1>我是大标题</h1>
<p>我是内容</p>
</body>
</html>
标签一览
标签 | 全称 | 说明 |
---|---|---|
基本标签 | ||
<head></head> | head | 头部 |
<body></body> | body | 身体 |
<h1~6></h1~6> | head | 标题 |
<p></p> | paragraph | 段落 |
分区标签 | ||
<div></div> | division | 区块 |
<span></span> | span | 行内块 |
分割标签 | ||
<br/> | breaking | 换行 |
<hr/> | horizon | 水平线(分割线) |
文本标签 | ||
<b></b> | bold | 粗体 |
<i></i> | italic | 斜体 |
<strong></strong> | strong | 强调 - 粗体(语义性更好) |
<em></em> | emphasis | 强调 - 斜体(语义性更好) |
<s></s> | strikethrough | 中划线(删除线) |
<del></del> | delete | 删除线 |
<u></u> | underline | 下划线 |
<sup></sup> | superscripted | 上标 |
<sub></sub> | subscripted | 下标 |
<big></big> | big | 大字号 |
<small></small> | small | 小字号 |
图片标签 | ||
<img/> | image | 图片 |
超链接标签 | ||
<a></a> | anchor | 超链接(锚点) |
列表标签 | ||
<ul></ul> | unordered list | 无序列表 |
<ol></ol> | ordered list | 有序列表 |
<li></li> | list item | 列表项 |
<dl></dl> | defintion list | 定义列表 |
<dt></dt> | definition title | 定义标题 |
<dd></dd> | definition description | 定义描述 |
表格标签 | ||
<table></table> | table | 表格 |
<caption></caption> | caption | 标题 |
<thead></thead> | table head | 表头 |
<tbody></tbody> | table body | 表身 |
<tfoot></tfoot> | table foot | 表脚 |
<tr></tr> | table row | 表格行 |
<th></th> | table header | 表头 |
<td/></td> | table data | 表格数据 |
<rowspan></rowspan> | row span | 合并单元格 - 行跨度 |
<colspan></colspan> | column span | 合并单元格 - 列跨度 |
表单标签 | ||
<form></form> | form | 表单 |
<input/> | input | 输入框 |
<textarea></textarea> | text area | 文本域(多行文本输入框) |
<select></select> | select | 下拉列表 |
<option></option> | option | 下拉列表选项 |
框架标签 | ||
<iframe></iframe> | frame | 框架 |
标签分类
标签分类
类型 说明 容器标签 任何标签都可以包含,包括自己( div
、li
、dd
、dt
、td
)文本标签 只能存放文字、图片、表单,以及其他文本标签 元素分类
元素 说明 block
块元素。块元素占据一行,不能与其它元素位于同一行,可以嵌套其它块元素和行内元素 inline
行内元素。可以和其它行内元素位于同一行,不能嵌套块元素
自闭合标签
标签 | 说明 |
---|---|
<meta/> | 网页元信息 |
<link/> | 引入外部文件 |
<br/> | 换行 |
<hr/> | 水平线 |
<img/> | 图片 |
<input/> | 输入框 |
字符实体
字符 | 显示 | 说明 |
---|---|---|
| 空格 | |
" | " | 引号 |
× | × | 乘号 |
÷ | ÷ | 除号 |
> | > | 大于号 |
< | < | 小于号 |
& | & | 与符号 |
© | ©️ | 版权符号 |
基本标签
<head></head>
- “头部”
<head>
标签是所有HTML
文档必须有的一部分。它是元数据(如<title>
、<style>
、<meta>
、<link>
、<script>
等)的容器,并包含了关于文档的信息,不会在网页上可见。
<head>
元素必须是<html>
标签的第一个子元素,并且之后紧跟<body>
标签。
能嵌套在
<head>
标签内的标签
标签 | 说明 |
---|---|
<title> | 定义了文档的标题,显示在浏览器的标题栏或者标签页上。 |
<meta> | 网页元信息,用于为搜索引擎提供关键词、页描述、字符编码等信息。 |
<link> | 引入外部文件,定义文档与外部资源的关系,常用于链接 CSS 文件。 |
<style> | 包含了文档的内嵌 CSS 。 |
<script> | 包含文档的 JavaScript 代码,或链接外部的 JavaScript 文件。 |
<head>
<!-- 1. 页面标题 -->
<title>页面标题</title>
<!-- 2. 网页元信息 -->
<meta charset="UTF-8">
<meta name="description" content="网页描述">
<meta name="keywords" content="关键词1,关键词2">
<!-- 3. 引入外部 CSS 文件 -->
<link rel="stylesheet" href="styles.css">
<!-- 4. 内嵌 CSS 样式 -->
<style>
body {background-color: powderblue;}
h1 {color: blue;}
p {color: red;}
</style>
<!-- 5. 引入外部 JavaScript 文件 -->
<script src="script.js"></script>
</head>
<body></body>
- “身体”
<body>
标签中包含的是页面上所有的内容,如文本,超链接,图片,表格,列表等。所有你想在网页上显示的内容应该放在<body>
标签和</body>
标签之间。
可以放在
<body>
中的基本标签:
标签 | 说明 |
---|---|
<h1> ~ <h6> | 表示六级标题,<h1> 表示最高级别的标题, <h6> 表示最低级别的标题。 |
<p> | 表示段落。 |
<a> | 用来创建超链接。 |
<img> | 用来插入图像。 |
<table> | 用来创建表格。 |
<ul> <ol> <li> | 用来创建列表。 |
<body>
<h1>Welcome to My Website</h1>
<p>This is a paragraph of text.</p>
<a href="https://www.example.com">Click here to go to Example.com</a>
<img src="image.jpg" alt="Description of image">
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
</tr>
</table>
<ul>
<li>List item 1</li>
<li>List item 2</li>
</ul>
</body>
<h1~6></h1~6>
- “标题”
<h1> ~ <h6>
:head
的缩写,用于定义标题,其中<h1>
表示最高级别的标题,<h6>
表示最低级别的标题。
<h1> ~ <h6>
标签样式:浏览器通常会默认为 <h1>
到 <h6>
加上从大到小的字体,可以使用 CSS
更改这些默认的样式。
<h1> ~ <h6>
标签语义:不仅在视觉上表示标题,也告诉搜索引擎和辅助阅读工具这是页面的层次结构。<h1>
标签定义的标题通常是最重要的,可能是整个网页或一个大的内容区块的主标题,而 <h2> ~ <h6>
则用于次级标题和副标题。
注意事项:
- 在同一页面中,
<h1>
通常只应该出现一次,用来定义整个页面的主要主题。 - 使用
<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>
</body>
</html>
<p></p>
- “段落”
<p>
:paragraph
的缩写,用来定义段落。它是一种块级元素,会默认带有一些上下外边距,常常用于包裹一些文本内容。
<p>
标签语义:定义的是段落,一个独立的、一般包含一个完整思想或一个独立主题的文本块。搜索引擎和辅助阅读工具会用这个信息来更好地理解和呈现你的内容。
注意事项:尽量保持每个 <p>
标签内的内容是一个完整的段落,而非使用多个 <p>
标签去创建空格或者换行,这样既可以保持代码的清晰,也能遵守 HTML
的语义规则。
<p>这是一个段落。</p>
<!-- 在两个 <p> 标签之间直接输入文本,浏览器会自动把这部分文本包裹在 <p> 标签内 -->
<p>这是第一个段落。</p>这是第二个段落。<p>这是第三个段落。</p>
<!-- 上面的例子会被浏览器解析为以下的方式 -->
<p>这是第一个段落。</p><p>这是第二个段落。</p><p>这是第三个段落。</p>
分块标签
<div></div>
- “区块”
<div>
:division
的缩写,表达的是逻辑上的区分或分组。这个标签可以包含其他的块级元素和内联元素。在默认情况下,<div>
是一个块级元素,会在前后产生换行。
<div>
标签语义:没有具体的语义含义。
主要目的:
- 配合
CSS
进行布局和样式改变。可以通过类(class
)或者id
来选择特定的<div>
,然后在CSS
中为它们添加样式。 - 在
JavaScript
中,也可以通过id
或者类来获取这个<div>
元素进行操作。
<div>这是一个div元素</div>
<!-- 通过 class 或 id 选择器来操作 -->
<div class="center">这个div元素有一个center类</div>
<div id="unique">这个div元素有一个唯一的ID</div>
<!-- 内联样式改变了文本颜色 -->
<div style="color:red">这个div元素的文本是红色的</div>
<!-- 表示了一组元素 -->
<div>
<h1>标题</h1>
<p>段落</p>
</div>
<span></span>
- “行内块”
<span>
用于对文档中的行内元素进行分组或应用样式。<span>
标签与<div>
标签相似,但<span>
是行内元素,而<div>
是块级元素。
<span>
标签没有默认的可视化特性,也就是说,它不会对内容进行任何改变,除非通过 CSS
给它添加样式。它主要在 CSS
和 JavaScript
中用于通过类(class
)或 id
来选择和操作特定的元素。
<span>这是一个 span 元素。</span>
<!-- 内联样式改变了文本颜色 -->
<span style="color:blue">这是一个蓝色文本的 span 元素。</span>
<!-- 位于一个段落中,并用来使其中的一部分文字加粗 -->
<p>这是一个含有 <span style="font-weight:bold">加粗文字</span> 的段落。</p>
<!-- 并通过 class 应用了一个 CSS 类名,使得文本得以高亮显示 -->
<p>这是一个含有 <span class="highlight">高亮文字</span> 的段落。</p>
分割标签
<br/>
- “换行标签”
<br/>
:break
的缩写,表示一个换行符,用来在不开始新段落的情况下换行,通常在诗歌或者地址等需要文本逐行显示的地方使用。
<br/>
是一个空元素,也就是说,它仅仅表示一个位置,而不包含任何内容。因此,它没有结束标签,不需要在开始和结束位置插入任何内容。
<br/>
标签语义:应该仅用于段落中的换行,不应该用在其它地方实现换行效果。
<!-- 在一个段落中创建了一个换行 -->
<p>这是一行文字。<br/>这是新的一行。</p>
<!-- 在地址中使用了 <br/> 来创建一个换行 -->
<p>123 Main Street<br/>Springfield, USA</p>
<hr/>
- “水平线标签”
<hr/>
:horizontal rule
的简写,表示一个主题性的内容之间的分隔线,也就是“水平线”。
<hr/>
通常会被渲染为一个水平线,可以通过 CSS
改变其显示样式。<hr/>
是一个空标签,无需结束标签。
<hr/>
标签语义:代表了一个段落级别的主题性的分割,表示了文档的不同部分之间的分隔。
<p>这是一段文字。</p>
<!-- 创建了一条水平线,将两个段落分开 -->
<hr/>
<p>这是另一段文字。</p>
文本标签
标签 | 呈现效果 | 语义 |
---|---|---|
<b></b> | 粗体 (bold ) | 让文本粗体显示,但并没有提供额外的语义重要性或强调程度。 |
<strong></strong> | 粗体 | 不仅让文本粗体显示,同时表示文本具有重要性,相比 <b> 标签具有更好的语义性。 |
<i></i> | 斜体 (italic ) | 让文本斜体显示,但并没有提供额外的语义重要性或强调程度。 |
<em></em> | 斜体 (emphasized ) | 不仅让文本斜体显示,同时表示强调该部分文本,相比 <i> 标签具有更好的语义性。 |
<s></s> | 中划线(删除线 strikethrough ) | 表示文本被删除或不再准确。 |
<del></del> | 删除线 (delete ) | 表示该部分内容是已经被删除的内容,当页面内容更新时,它可以清晰地表示哪些内容被做了改变。 |
<u></u> | 下划线 (underline ) | 表示下划线,但在 HTML5 中已不推荐使用,因为它可能会与超链接产生混淆。与这位它没有特别的语义意义。 |
<sup></sup> | 上标 (superscripted ) | 表示文本应以上标的形式显示,例如数学公式或版权符号等。 |
<sub></sub> | 下标 (subscripted ) | 表示文本应该以下标形式显示,例如化学公式等。 |
<big></big> | 大字号 | 该标签在 HTML5 中已不再推荐使用。它用于让文本字体变大,但并没有特殊的语义含义。 |
<small></small> | 小字号 | 让文本字体变小。一般用于通常被视为辅助、注释或小字体的内容,例如版权声明或者法律文本。 |
最佳实践:使用
CSS
来控制文本的显示方式,而使用上述文本标签构建具有清晰语义的HTML
,这样做有利于搜索引擎和辅助技术(像屏幕阅读器等)更好地理解页面内容。
<b>这段文字被加粗了。</b>
<i>这段文字是斜体。</i>
<strong>这段文字很重要,所以被加粗了。</strong>
<em>这段文字被强调,所以变成了斜体。</em>
<s>这段文字已被删除。</s>
<p>原来的价格是 <del>$50.00</del>,现在的价格是 $25.00。</p>
<!-- 支持 datetime 属性,可用于指明何时进行删除操作 -->
<del datetime="2020-10-10T16:30:00Z">已删除的内容</del>
<!-- <u> 标签可能引起混淆(它与默认显示下划线的链接的效果一样)在 HTML5 中不再推荐使用它 -->
<u>这段文字下面有一条下划线。</u>
H<sub>2</sub>O (水的化学式) <br>
E = mc<sup>2</sup> (爱因斯坦质能方程)
x<sub>1</sub>, x<sub>2</sub>
<!-- 在 HTML 5 中已被废弃 -->
<big>这段文字字号比普通字大。</big>
<p>这是一段普通的文字. <small>这里是一些辅助信息、法律声明等小字内容。</small></p>
<img/>
图片标签 -
<img/>
: 在HTML
中用于嵌入图片到网页中。<img>
标签是一个空元素,即没有闭合标签。
<img/>
标签语义:标识了一个图像区域,并通过 src
和 alt
属性告诉浏览器和用户这个区域的内容是什么。一个良好的 alt
属性值对于提高网页的可访问性、提高 SEO
效果都非常重要。
图片属性
属性 | 说明 |
---|---|
src | 必需。指定图像的 URL 或文件路径。 |
title | 可选。设定鼠标悬停在图像上时显示的文本。 |
alt | 可选。提供图像的文本替代(alternate ),用于无法显示图片或视力障碍的用户。 |
width | 可选。设定图像的宽度。可以使用像素(如 "500px")或者相对百分比(如 "50%") |
height | 可选。设定图像的高度。可以使用像素或者相对百分比 |
border | 可选。设定图像的边框粗细 (已在 HTML5 中废弃,建议使用 CSS ) |
align | 可选。设定图像的对齐方式 (但已在 HTML5 中废弃,建议使用 CSS ) |
<img src="my-image.jpg" />
<img src="my-image.jpg" title="这是我的图片。" />
<img src="my-image.jpg" alt="我的图片描述。" />
<img src="my-image.jpg" width="500" height="300" />
<img src="my-image.jpg" border="2" />
<img src="my-image.jpg" align="middle" />
<a>< /a>
超链接标签 -
<a>
: 在HTML
中用于创建超链接,可以链接到网页中的其它部分,或者链接到其它网页或网站。
<a>
标签语义:定义了一个超链接,用户可以点击这个链接跳转到另一个位置。
<a>
标签中的内容(介于开始 <a>
标签和结束 </a>
标签之间的内容)将作为链接显示。如果嵌入的内容包含其它元素(如图片),那么这些元素也将成为可点击的链接部分。
常用属性
属性 | 说明 |
---|---|
href | 链接跳转地址(hypertext reference ) 定义链接的目标 URL 。如果该属性未被指定,则 <a> 标签会被视为锚点(可以连接到页面的其他部分)。 |
target | 指定在哪里打开链接的目标 URL ,例如在新窗口、本窗口等 |
title | 定义鼠标悬停在链接时显示的提示文本。 |
name | 页面锚点,用于定位到页面某部分 |
download | 指示浏览器下载 URL 而不是导航到它,可以是一个具体文件名 |
rel | 指定当前页面和链接目标之间的关系 |
hreflang | 提示链接目标资源的语言,类似于 lang 属性 |
type | 提示链接目标资源的 MIME 类型 |
href 值 | 说明 |
---|---|
外部链接 | 外部网页 url |
内部链接 | 本地网页 path |
锚点链接 | 锚定当前网页的某一个位置 |
target 值 | 说明 |
---|---|
_self | (默认)在当前窗口打开 |
_blank | 在新窗口打开 |
_parent | 在父窗口打开 |
_top | 在顶层窗口打开 |
<!-- 1. 链接到另一个网页: -->
<a href="https://www.example.com">Visit Example.com</a>
<!-- 设置属性 target="_blank" 意味着链接将在新窗口或标签中打开。 -->
<a href="https://www.example.com" target="_blank">Visit Example.com</a>
<!-- 2. 链接到同一文档中的不同部分: -->
<a href="#section2">Go to Section 2</a>
...
<h1 id="section2">Section 2</h1>
<!-- 3. 链接到电子邮件: -->
<a href="mailto:someone@example.com">Send Email</a>
列表标签
三种列表类型:无序列表、有序列表和定义列表。
<ul></ul>
- “无序列表”
<ul>
:unordered list
缩写,用来创建一个无序列表(内容项目前面没有数字或字母)。每个列表项都放在<li>
(列表项)标签中。
<ul>
标签语义: 表示其包含的内容是一个列表,在这个列表中,列表项之间没有特定的顺序。当需要列出几个并列的项目,但并不关心它们的排列顺序时,使用 <ul>
是最合适的。
<ul>
<!-- 每个列表项都应该被包含在 <li> (list item) 标签中 -->
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<!-- 嵌套使用 <ul> 标签,来创建多级或者分层次的列表 -->
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li>
<li>Milk</li>
</ul>
<ol></ol>
- “有序列表”
<ol>
:ordered list
缩写,用于创建一个有序列表,也就是说,列表项将被标记为数字或字母,并且按照特定的顺序排列。
<ol>
标签语义:表示其包含的列表项有固定的顺序。这个标签通常用于列出步骤,或者当列表的排列顺序在语义上有重要意义的时候。
最佳实践:有的列表前面有数字,也不应该用有序列表实现,因为有序列表的外观是固定的。
能调整
<ol>
列表项的标记方式的属性
属性 | 说明 |
---|---|
type | 改变标记类型("1"、"A"、"a"、"I"、"i" 分别代表阿拉伯数字、大写字母、小写字母、大写罗马数字、小写罗马数字) |
start | 改变计数的开始值 |
<ol>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
<!-- 用大写字母标记的有序列表,且从 "C" 开始计数 -->
<ol type="A" start="3">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
<dl></dl>
- “定义列表”
<dl>
:defintion list
缩写,用于创建一个定义列表,是一种由一组术语及其对应的描述组成的列表。
<dl>
标签语义:表示一个包含了多个定义及其解释的列表,通常在需要将包含多组术语和对应描述的内容进行分组和展示时使用 <dl>
。比如对于一个词汇的解释列表,或者一个产品的特性描述列表等。
<dl>
<!-- <dt> 标签表示定义术语 -->
<dt>Coffee</dt>
<!-- <dd> 标签表示对应的描述 -->
<dd> - black hot drink</dd>
<dt>Milk</dt>
<dd> - white cold drink</dd>
</dl>
<table></table>
表格标签 -
<table>
: 用于创建表格。表格是以行和列的形式来展示数据的一种方式。
<table>
标签语义:表示其内容是一个表格,其组成部分(如行、单元格等)有着明确的语义关系,并且此标签应当只用于展示行列数据。使用表格来排版页面或者设计布局是不推荐的做法,因为这样会破坏内容的语义关系,并可能带来无法预见的问题。
一个基本的表格的组成部分:
<table>
:用于创建整个表格。<tr>
:用于创建表格中的一行。<td>
:用于创建表格中的一个数据单元格,即表格中的一个数据项。<th>
:用于创建表格中的一个表头单元格。它类似<td>
,但通常文字会被加粗且居中。
<table>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
</tr>
<tr>
<td>Jane</td>
<td>Doe</td>
</tr>
</table>
常用属性 (
HTML5
中已被废弃,推荐使用CSS
代替这些属性进行样式设置)
属性 | 说明 |
---|---|
border | 定义表格的边框宽度 |
cellpadding | 定义单元格边沿间的空间 |
cellspacing | 定义单元格之间的空间 |
width | 定义表格的宽度 |
height | 定义表格的高度 |
align | 定义表格的水平对齐方式 |
valign | 定义表格的垂直对齐方式 |
bgcolor | 定义表格的背景色 |
background | 定义表格的背景图像 |
表单标签
<form></form>
- “表单”
<form>
: 用于创建web
表单。一个表单可以包含输入元素,例如文字字段,复选框,单选按钮,提交按钮等等。
<form>
标签语义:表示一个用户可以输入他们数据的表单区域,通常用于从用户那里收集信息,例如姓名、电子邮件、密码等等。这些信息在表单提交后一般会发送到服务器进行处理。
常用属性
属性 | 说明 |
---|---|
name | 定义表单的名称,用于在脚本中引用表单 |
action | 定义当提交表单时数据发送的 URL |
method | 定义表单数据在提交时使用的 HTTP 方法,如GET 、POST |
target | 定义提交表单后的结果在何处显示,例如在新窗口、本窗口等 |
enctype | 定义在提交表单时数据的编码类型,一般用于含有文件上传控件的表单 |
novalidate | 如果存在该属性,表单数据在提交时不作任何验证 |
autocomplete | 定义表单的自动完成功能,如启用或禁用 |
accept-charset | 定义在提交表单时用于编码数据的字符集 |
<!-- 创建了一个包含两个输入字段(姓名和电子邮件)及一个提交按钮的表单 -->
<form action="/submit" method="post">
<label for="name">Name:</label><br>
<input type="text" id="name" name="name"><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email"><br>
<input type="submit" value="Submit">
</form>
<input/>
- “输入”
<input/>
: 用于创建输入字段,是表单(<form>
)中的一个常见元素,能够让用户输入各种类型的数据。
<input>
标签语义:代表一个可以让用户输入值的元素。由 type
属性指定的类型决定了数据的输入方式和格式。
常用属性
属性 | 说明 |
---|---|
id | 定义元素的唯一 ID , 通常与 <label> 元素的 for 属性配合使用 |
type | 定义输入字段的类型,如 text 、password 、checkbox 、radio 、button 等 |
name | 定义输入字段的名称,这个名称会在表单数据提交时使用 |
value | 定义输入字段的初始值或默认值 |
placeholder | 定义输入字段的占位符,显示在未输入时的字段中 |
readonly | 如果存在该属性,用户不能修改输入字段的值 |
disabled | 如果存在该属性,用户不能与输入字段进行交互 |
maxlength | 定义输入字段能够接受的最大字符数 |
size | 定义输入字段的可见宽度,以字符为单位 |
required | 如果存在该属性,那么在提交表单之前用户必须填写该字段 |
autocomplete | 控制输入字段的自动完成功能,如启用或禁用 |
autofocus | 页面加载时,输入字段自动获取焦点 |
输入字段类型
类型 | 说明 |
---|---|
输入框 | |
text | “文本”输入框 |
password | “密码”输入框 |
选项框 | |
radio | “单”选框 |
checkbox | “复”选框 |
按钮 | |
button | “普通”按钮 |
submit | “提交”按钮 |
reset | “重置”按钮 |
文件 | |
file | 文件上传 |
<form>
<!-- 输入框 -->
<input type="text" placeholder="“文本”输入框" />
<input type="password" placeholder="“密码”输入框" />
<!-- 单项框 -->
<input type="radio" name="gender" value="male" /> 男
<input type="radio" name="gender" value="female" /> 女
<!-- 复项框 -->
<input type="checkbox" name="hobby" value="reading" /> 阅读
<input type="checkbox" name="hobby" value="sporting" /> 运动
<input type="checkbox" name="hobby" value="traveling" /> 旅行
<!-- 按钮 -->
<input type="button" value="“普通”按钮" />
<input type="submit" value="“提交”按钮" />
<input type="reset" value="“重置”按钮" />
<!-- 文件 -->
<input type="file" name="myFile" />
<!-- 常常与 <label> 标签一起使用,对输入字段进行说明。 -->
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname">
</form>
<textarea></textarea>
- “文本域”
<textarea>
: 用于创建一个多行文本输入字段,让用户输入一段文字,如评论、反馈等。
<textarea>
标签语义:表示一个多行文本输入区域,让用户可以输入一段或多段文字。这种标签是很多在线表单的常见组成部分,在例如让用户输入留言、评论、反馈等场景中会使用到。
常用属性
属性 | 说明 |
---|---|
id | 定义元素的唯一 ID , 通常与 <label> 元素的 for 属性配合使用 |
name | 定义文本区域的名称,使用表单数据提交时需要 |
cols | 指定文本区域的可见宽度,以字符为单位 |
rows | 指定文本区域的可见行数 |
maxlength | 指定可以输入的最大字符数 |
placeholder | 输入提示,在用户未输入之前显示在输入框中 |
readonly | 设定该文本区域为只读的 |
disabled | 设定该文本区域为禁用状态,用户不能对其进行操作 |
required | 设定该文本区域为必填字段 |
wrap | 指定文本域中的文本如何换行("soft"或"hard") |
autofocus | 页面加载时,文本区域自动获取焦点 |
<!-- 通常会与 <label> 标签一起使用来提供输入区域的描述,以帮助用户理解应该在该区域中输入什么内容。 -->
<label for="message">Message:</label>
<textarea id="message" name="message" rows="4" cols="50">
</textarea>
<select></select>
- “下拉列表”
<select>
: 用于创建一个下拉列表,用户可以从中选择一个或多个选项。每个<select>
元素包含一或多个<option>
元素,每个<option>
元素代表一个选项。
<select>
标签语义:表示一个下拉列表,用户可以从中选择一个或多个选项。<option>
标签则代表列表中的一个选项。这种标签常用在用户需要从预定的一组选项中选择一个或多个的情况下,如选择国家、语言等。
常用属性
属性 | 说明 |
---|---|
id | 定义元素的唯一 ID , 通常与<label> 元素的for 属性配合使用。 |
name | 定义下拉列表的名称,这个名称会在表单数据提交时使用。 |
multiple | 如果存在该属性,允许用户选择多个选项。 |
size | 定义下拉列表中同时可见的选项数目。 |
disabled | 如果存在该属性,用户不能与下拉列表进行交互。 |
required | 如果存在该属性,则要求用户必须选择一个选项才能提交表单。 |
autofocus | 页面加载时,下拉列表自动获取焦点。 |
form | 定义下拉列表所属的一个或多个表单。 |
<!-- 通常会与 <label> 标签一起使用,为下拉列表提供描述,帮助用户理解应在该列表中选什么 -->
<label for="cars">Choose a car:</label>
<select id="cars" name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
</select>