HTML简明教程

388 阅读19分钟

HTML起步

html介绍

HTML是编写网页的语言,规则由W3C制定。W3C是万维网联盟。中文是超文本标记语言


文件命名

创建html文件有一些规范:

  1. 不建议使用中文,因为中文是宽字符,在不同操作系统上可能会出现问题
  2. 不需要使用驼峰规范,英文字母全部使用小写
  3. 多个单词可以使用-_ 连接,建议使用-字符如user-create.html
  4. 扩展名标准是.html,当然也可以使用.htm,这是因为早期的文件拓展名只能支持三个字母

URL

URL是统一资源定位符,用于表示资源在网络上的地址,每个部分以/进行分隔 示例:

访问协议URL
http资源访问https://www.houdunren.com/edu/front/lesson/298.html
FTP文件下载ftp://ftp.houdunren.com/download/php.pdf
MAILTO邮箱地址mailto:2300071698@qq.com

参数说明

参数说明
https访问协议httphttps、ftp、mailto
www.houdunren.com服务器地址
edu/front/lesson资源目录
298.html文件名

访问路径

绝对路径

绝对路径包含 主机+服务器地址+目录+文件名 的完整路径

网络路径:https://www.houdunren.com/edu/front/lesson/298.html

本地路径:E:/download/music/qqMusic/安和桥 - 宋冬野.mp3

相对路径

相对路径是指相对当前项目根目录的地址,如果你的html文件在test的直接目录下,那么你的项目根目录就是test这个目录。相对于这个根目录去找到其他文件,具体的操作就是:

../(3.html)(上级目录的文件)

./back.png(当前目录下的文件)


基本结构

html代码的基本结构如下:

<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="utf-8">
    <meta name="keyword" content="HTML,Java" />
    <meta name="description" content="TonyDon-爱睡懒觉的程序猿" />
    <title>这是网页的标题</title>
</head>

<body>
    <p> p标签代表段落,因此这里的内容会独占一行 </p>
    <!-- 这里的内容不会显示在网页上,它通常用来注释我们的程序代码 -->
</body>

</html>

代码解析:

像上面代码中用尖括号括起来的都叫做标签,比如:<html>标签,<head>标签,<body>标签,<title>标签,<p>标签,<meta>标签等等。他们都是以<标签名>开头,以</标签名>结尾,当然之后我们也会遇到没有</标签名>结尾的标签,这里我们之后在说。不同的标签有不同的意义,比如<title>标签就是网页的标题。学习HTML大部分都在学习标签,就和学习C语言的时候都在学习关键字一样,当你会用所有关键字的时候,C语言也就学完了。同理学习完大部分的HTML标签,HTML也就快学完了。

语句描述
<!DOCTYPE html>这句声明就是告诉浏览器,请使用HTML5的标准来解析这个网页
lang="zh-CN"网页的语言,如en为英文,zh-CN为中文等,非必选项目
<head>表示网页的头部,这里的信息都是对网页的整体说明
charset="utf-8"字符编码
keyword搜索引擎说明你的网页的关键词
description向搜索引擎描述网页内容的摘要信息
<title>网页标题
<body>body表示网页的身体,网页的主要内容都写在这里
<p>p标签代表段落,因此这里的内容会独占一行
<!-- 注释 -->程序注释

HTML基本语法

常用标签

<meta>标签

<meta>标签定义关于 HTML文档的元信息,<meta> 标签通常位于 <head>区域内。它在我们前面的基本结构中出现过,可能大家还不是很清楚<meta>标签怎么用,这里给大家举了<meta>标签的四种用法:

定义文档关键词,用于搜索引擎:

<meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">

向搜索引擎描述网页内容的摘要信息:

<meta name="description" content="TonyDon-爱睡懒觉的程序猿">

定义页面作者:

<meta name="author" content="TonyDon">

每30秒刷新页面:

<meta http-equiv="refresh" content="30">

设置字符编码:

<meta charset="utf-8">
<progress>标签

<progress>标签表示进度条标签,用于表示完成任务的进度,格式如下:

<progress value="30" max="100">内容</progress>

效果如下:

内容

文本内容是看不见的,当浏览器不支持<progress>标签的时候,会显示文本内容,但是现在大部分浏览器都会支持<progress>标签,所以不要考虑这个问题。

value代表当前值,max代表最大值

<fieldset>标签

<fieldset>标签内的一组表单元素会在 WEB 浏览器中以特殊的方式显示,比如不同样式的边界、3D效果等。我们现在还不知道什么是表单,这暂且不用管,我们后面会说,大家先看一下格式:

<fieldset>
    <legend>TonyDon</legend>
    <p>爱睡懒觉的程序猿</p>
</fieldset>

<legend>标签内的内容是标题,而且<legend>标签必须是<fieldset>标签的子标签

效果如下:


文本标签

标签描述
<p>段落</p>p标签代表段落,因此这里的内容会独占一行。
&nbsp;代表一个空格,段落内连续的多个空格HTML只能识别一个空格,使用&nbsp;显示一个空格
<pre>pre标签为原样输出标签,可以原样输出文本的空格和换行
<h1>一级标题</h1>h标签为标题标签,一共有六级标签,从<h1>标签到<h6>标签,1~6代表不同大小的标题。
<br/>br标签表示换行,放在哪里就在哪里换行,可以在其他标签内使用
<hr/>hr标签代表一条水平横线,用于分割页面内容
<span></span>span标签没有语义,常用于对某些文本特殊控制,但该文本又没有适合的语义标签
<div></div>div标签也没有语义,常用于包裹一块区域
<i>斜体</i>i标签表示斜体
<em>斜体</em>em标签也表示斜体
<b>加粗</b>加粗字体
<del>删除线</del>给文字增加删除线
<sup>2</sup>sup标签表示上标字
<sub>2</sub>sub标签表示下标字
<u>下划线</u>给文字加上下划线
<center></center>使文字居中

语义标签

语义标签在文本的表现形式上没有太大的变化,但是它的标签名有特定的语义内容,可以让代码看起来更加整洁清晰

标签描述
<strong>强调</strong>加粗字体,表示强调
<em>斜体</em>斜体,表示强调
<mark></mark>黄色背景色,用于突出显示文本内容,类似我们生活中使用的马克笔
<header></header>表示一块区域头部
<footer></footer>表示文档或节的页脚,页脚通常包含文档的作者、版权信息、使用条款链接、联系信息等等
<nav></nav>导航区域
<small></small>小号字体,用于设置描述、声明等文本
<address></address>用于设置联系地址等信息,一般将saddress放在footer标签中
<time></time>time标签用来定义日期或时间,或者两者
<main></main>HTML5中使用main标签表示页面主要区域,一个页面中main元素最好只出现一次
<abbr title="TonyDon">TD</abbr>abbr标签用于描述一个缩写内容,title的内容是鼠标放置的显示内容
<aside></aside>使用 aside 用于设置与主要区域无关的内容,比如侧面栏的广告等
<ins></ins>文字带下划线,常用于修正内容,或者插入字
<s></s>标签显示效果与 del 相似,但语义用来定义那些不正确、不准确或没有用的文本
<code></code>语义表示显示代码块内容,一般需要代码格式化插件来完成代码高亮,本身没有高亮
<cite></cite>内容斜体,表示它所包含的文本对某个参考文献的引用,或文章作者的名子
<blockquote></blockquote>表示大段的引用
<article></article>article 标签通常表示一块独立的内容区域
<section></section>使用 section 定义一个区块,一般是一组相似内容的排列组合
<q></q>用于表示行内引用文本,在大部分浏览器中会加上引号

图像处理

使用一张图片就是使用<img>标签,格式如下:

<img src="https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" alt="百度" title = "百度" height = "100px">

效果如下:

百度

属性介绍:

属性描述
src图片路径,可为相对路径,绝对路径或者URL
title鼠标滑到图片上的文本提示
alt图片加载失败后的文本提示
height/weight图片尺寸

alt,title这些属性也可以不写,html标签中的属性都是可选的

图片的显示

图片在网页中自左往右显示,并默认以底部对齐。当一行放不下所有图片时,会在下一行显示

调整图片的大小

<img src="images/01.jpg"  height="100px">
  1. heightweigth只需设定一个就可以了,图片会成比例进行放缩
  2. 如果两个都设置,需要保证比例不变,否则图片会变形
  3. height = "100%"表示撑满屏幕
  4. px是像素单位

链接

a标签

链接就是使用<a>标签实现的超链接,格式如下:

<a href="http://www.tonydon.club/" target="_blank" title="爱睡懒觉的程序猿">TonyDon</a>

href属性为超链接的打开地址,也可以打开站内的文件,或者跳转到当前网页的某个位置,这个为锚点,我们之后再说

<a href = "#">href的值为#时,代表空链接

target属性规定在何处打开链接文档,属性值如下:

描述
_blank在新窗口中打开被链接文档。
_self默认。在相同的框架中打开被链接文档。
_parent在父框架集中打开被链接文档。
_top在整个窗口中打开被链接文档。
framename在指定的框架中打开被链接文档。

title为鼠标滑上去的提示文本


图片链接

有时候我们想让一张图片也可以点击跳转链接,其实我们只需要在a标签内部写上img标签就可以了,如下:

<a href="https://www.baidu.com/">
    <img src="https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" alt="">
</a>

跳转锚点

锚点是使用id进行跳转(通过name值进行跳转已经被淘汰了),id是一个元素的id值是唯一的,不会有两个元素的id值是一样的,所以可以使用id的值进行跳转。id值是我们自己赋值的,如果没有给id赋值,那这个元素就没有id值。我们可以在a标签内的href属性设置为改网页内某个元素的id值,要在id值前面加上#,如下:

<a href="#tonydon" target="_blank" title="tonydon">点击跳转</a>
<div style="background: red; height: 3000px;"></div>
<div id="tonydon">爱睡懒觉的程序猿</div>

你也可以跳转到另一个页面中的某个锚点,如下:

<a href="002.html#tonydon" target="_blank" title="baidu">点击跳转</a>

发送邮件

可以通过超链接直接打开电脑的第三方邮件客户端发送邮件,如下:

<a href="mailto:1400615611@qq.com">发送邮件</a>

注意事项:我们一般不这么写,因为会被爬虫爬取信息,通常使用以下内容代替

请把 # 改成 @ 后发送邮件,1400615611@qq.com
<a href="mailto:1400615611#qq.com">发送邮件</a>

拨打电话

在手机上直接点击或弹出拨号面板拨打电话,如下:

<a href="tel:13102058011">拨打电话</a>

显示图片

href设置为某张图片的地址时,点击超链接显示某张图片

<a href="../../img/19102604.jpg">
    图片
</a>

如何下载图片及贴图

下载图片

从网页中下载图片,有两种方式:一是直接右击图片下载,二是F12打开源码,从中查找图片下载地址

使用PhotoShop切图
  1. 添加图片

  2. 选择切图工具

  3. 切取

  4. 保存

  5. 常用快捷键

    快捷键
    调整大小alt + 鼠标滚轮
    保存 ctrl + alt + shift + s

列表

有序列表

<ol>标签定义有序列表. 列表排序默认以阿拉伯数字数字来显示。使用<li>标签来定义列表选项。

有序列表的格式如下:

<ol start="10" type="1" reversed>
    <li>咖啡</li>
    <li></li>
    <li>牛奶</li>
</ol>

start属性为数字排列的起始数字,type属性规定排序的形式,默认值为1,也就是阿拉伯数字排列,其他值如下:

type效果
type = "a"以小写字母显示
type = "A"以大写字母显示
type = "i"以小写罗马字符显示
type = "I"以大写罗马字符显示

reversed属性表示排序反转,它的值为reversed,本来应该写成reversed="reversed",但是当属性的唯一值和属性本身重名时,可以直接写属性名


无序列表

无序列表就是没有数字或者字母这种顺序排列的列表,<ul>标签表示HTML页面中项目的无序列表,将<ul>标签与<li>标签一起使用,创建无序列表。

<ul type="disc">
    <li>咖啡</li>
    <li></li>
    <li>牛奶</li>
</ul>

type属性是规定列表的项目符号的类型,默认为实心圆disc,属性值如下:

type
type = "disc"实心圆
type = "circle"空心圆
type = "square"黑方块

描述列表

<dl>标签为描述列表,<dt>标签为标题,<dd>标签为解释内容,示例如下:

<dl>
    <dt>TonyDon</dt>
    <dd>爱睡懒觉的程序猿</dd>
    <dd>睡懒觉</dd>	
</dl>

效果如下:

TonyDon
爱睡懒觉的程序猿
睡懒觉

表格和多媒体

表格

<table>标签为表格;<thead>为表格头部内容;<tbody>标签为表格主体,内容默认左对齐;<tfont>标签为表格的尾部,常用于写一些小字内容,不常用,文本内容格式和<tbody>一样;<tr>标签为行标签,<tr>标签内的<td>标签为列,<th>标签也是一列,但是文本内容会加粗并居中对齐。<caption>标签为表格标题,不常用,示例如下:

<table border="1">
    <caption>表格标题</caption>
    <thead>
        <tr>
            <th>编号</th>
            <th>标题</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>001</td>
            <td>TonyDon-爱睡懒觉的程序猿</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td>表格尾部</td>
            <td>用于尾部内容</td>
        </tr>
    </tfoot>
</table>

效果如下:

表格标题
编号 标题
001 TonyDon-爱睡懒觉的程序猿
表格尾部 用于尾部内容

不规则表格

水平合并

<td>标签内设置colspan属性值,来进行多个列的合并,也就是水平合并,colspan的值表示合并几列,格式如下:

<table border="1">
    <caption>表格标题</caption>
    <thead>
        <tr>
            <th>姓名</th>
            <th>性别</th>
            <th>年龄</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>小红</td>
            <td colspan="2"></td>
            <!-- <td>18</td> -->
        </tr>
        <tr>
            <td>小明</td>
            <td></td>
            <td>19</td>
        </tr>
    </tbody>
</table>

效果如下:

表格标题
姓名 性别 年龄
小红
小明 19
垂直合并

<td>标签内设置rowspan属性值,来进行多个行的合并,也就是垂直合并,rowspan的值表示合并几行,格式如下:

<table border="1">
    <caption>表格标题</caption>
    <thead>
        <tr>
            <th>姓名</th>
            <th>性别</th>
            <th>年龄</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>小红</td>
            <td rowspan="2"></td>
            <td>18</td>
        </tr>
        <tr>
            <td>小明</td>
            <!-- <td>男</td> -->
            <td>19</td>
        </tr>
    </tbody>
</table>

效果如下:

表格标题
姓名 性别 年龄
小红 18
小明 19

视频播放

Adobe与苹果公司对 FLASH都不支持或消极状态,这时HTML提供对视频格式的支持,<video>标签用于视频播放,除了使用html提供的标签来播放视频外,也有很多免费或付费的插件,如video.js 、阿里云播放器 等等

示例如下:

<video src="http://tonydon.club/wp-content/files/video/天空幻境.mp4" width="600" height="300" 
       autoplay muted controls poster="http://tonydon.club/wp-content/uploads/2020/06/ext.jpg" preload="none" loop>
</video>

效果如下:

属性解析:

属性描述
src要播放的视频的 URL
width设置视频播放器的宽度
height设置视频播放器的高度
autoplay如果出现该属性,则视频在就绪后马上播放(自动播放)
muted播放时默认静音
controls如果出现该属性,则向用户显示控件,比如播放按钮
poster规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像
preload控制视频何时加载,如何加载
loop如果出现该属性,则视频会循环播放

preload属性详解

1.  如果使用 `"autoplay"`,则忽略该属性。
2.  如果视频观看度低可以设置为 `preload="none"` 不加载视频数据减少带宽。
3.  如果设置为 `preload="metadata"` 值将加载视频尺寸或关键针数据,目的也是减少带宽占用。
4.  设置为 `preload="auto"` 时表示将自动加载视频数据

音频播放

<audio>标签为音频播放,它的大部分属性和<video>标签属性一样,大家参考<video>标签的属性就可以了,示例如下:

<audio src="http://tonydon.club/wp-content/uploads/2020/05/MELANCHOLY-原唱_-White-Cherry-嘻嘻琳.mp3" loop controls preload="auto"></audio>

效果如下:


表单

<form> 标签

使用 <form> 标签可以向服务器传输数据,action属性的值就是后台脚本的url,可以是php脚本。<input>标签用于创建交互式控件,这类控件是基于 web 表单的,它可以接收用户的数据、信息。通过赋予不同的type属性值,得到不同的控件,之后会详细介绍。每个input标签必须有一个name值,否则后台无法接收到数据,不过我们现在还没有接触到后天,所以不用在意这一点。 <form> 标签内method属性是提交的方式,默认为GRT,它时候提交一些小型的数据,而且会在浏览器的搜索栏中明文显示提交的内容。示例如下:

<form action="" method="GET">
    <fieldset>
        <legend>表单</legend>
        姓名:<input type="text" name="name">
        学号:<input type="text" name="id">
        <input type="submit">
    </fieldset>
</form>

效果如下:

method属性

当需要考虑数据的安全性,或者有大型数据的提交时,比如用户的头像,上传的文件等等,可以使用POST值,示例:

<form action="" method="POST">
    <fieldset style="border-width: 2px;
                     border-style: groove;
                     border-color: threedface;
                     border-image: initial;">
        <legend>表单</legend>
        姓名:<input type="text" name="name">
        <input type="submit">
    </fieldset>
</form>

<input>标签

<input>标签有不同的web控件,但比如文本输入框这类控件中的内容是需要提交的,<input>标签只有在<form>标签内,才能提交

不同的type属性值,对应不同的控件,以下为所以的type属性值:(不同控件我们之后会详解)

type控件
type = "text"文本输入框
type = "password"密码输入框
type = "radio"单选框
type = "checkbox"复选框
type = "button"普通按钮
type = "submit"提交按钮
type = "reset"重置按钮
type = "file"文件选择框
type = "url"输入内容为URL地址
type = "email"输入内容为邮箱
type = "tel"电话号,移动端会调出数字键盘
type = "search"搜索框
type = "hidden"隐藏表单,用于提交后台数据
type = "number"只能输入数字,会有上下箭头调整数字大小
type = "date"日历输入框

input内有不同的属性:

属性描述
name = ""定义input元素的名称,后台接收字段名
id = ""作为标签的唯一标识
value = ""规定input元素的值(初始值)
type = "text"规定input元素的类型,表单类型默认为 text
placeholder = ""规定帮助用户填写输入字段的提示
disabled禁用选择
checked默认选择
required必须输入
maxlength允许最大输入字符数
size表单显示长度,一般用不使用而用 css 控制
readonly只读,可提交到后台

<label>标签

<label> 标签可以与<input>标签联立,让用户在使用表单的时候能够有更好的体验。

看下面的代码:我们将<label>标签内的for属性赋值为某个<input>标签的id值,这样的话<label> 标签就与<input>标签联立起来了,当我们用鼠标点击<label>标签内的文本时,后面的<input>标签就回获得焦点。

<form action="">
    <label for="name">姓名</label>
    <input type="text" name="name" id="name">
</form>

效果如下:

姓名

还有一种方法就是,直接把<input>标签抱在<label>标签内部,这样也可以将<label> 标签就与<input>标签联立起来,而且也不需要设置forid值了,如下:

<form action="">
    <label>学号:
        <input type="text" name="id">
    </label>
</form>

效果如下:

学号:

所有控件

文本输入

type = "text"为文本输入框,如下:默认情况下也为文本输入框,不写type = "text"时,也是文本输入框

<form action="">
    <input type="text">
</form>

效果如下:

密码输入

type="password"为密码输入框,输入的文本会显示*号,如下:

<form action="">
    <input type="password">
</form>

效果如下:

邮箱输入

type="email"为邮箱输入框,如果我们输入的时候不是邮箱,那么提交的时候会提示我们输入错误

<form action="">
    <input type="email">
    <input type="submit">
</form>
URL输入

type="url"URL输入框,如果我们输入的时候不是URL地址,那么提交的时候会提示我们输入错误

<form action="">
    <input type="url">
    <input type="submit">
</form>
电话输入

type = "tel"为电话输入框,在桌面端和文本输入框一样,也可以输入字母,但是在移动端会弹出电话输入框,方便我们的输入

<form action="">
    <input type="tel">
    <input type="submit">
</form>
输入数字

type = "number"为数字输入框,只能输入数字,还会再右侧出现上下小箭头调节数字大小

<form action="">
    <input type="number">
</form>

效果如下:

隐藏表单

type = "hidden"为隐藏表单,我们看不见,但是可以提交到后台

<form action="">
    <input type="hidden">
</form>
表单提交

type = "submit"为提交按钮:

<form action="">
    <input type="submit">
</form>

也可以使用<button>标题来提交表单:

<form action="">
    <input type="text">
    <button type="submit">提交</button>
</form>
文本输入域

<textarea>标签为文本域,cols为列数,rows为行数

<form action=""> 
    <label for="11">介绍</label>
    <br>
    <textarea name="info" id="11" cols="30" rows="10"></textarea>
</form>	
下拉列表框

<select>为下拉列表框,<option>为一个选项

<form action=""> 
    <label for="">栏目
        <select name="" id="">
            <option value="">TonyDon</option>
            <option value="">爱睡懒觉的程序猿</option>
        </select>
    </label>
</form>

效果如下:

栏目 TonyDon 爱睡懒觉的程序猿

列表选择框可以多选,设置multiple属性,但是要将<select>标签的name属性设置为数组,不然只能提交到后台一个值:

<form action=""> 
    <label for="">栏目
        <select name="name[]" id="" multiple>
            <option value="1">TonyDon</option>
            <option value="2">爱睡懒觉的程序猿</option>
        </select>
    </label>
</form>

可以设置默认选中:使用selected属性

<form action=""> 
    <label for="">栏目
        <select name="" id="">
            <option value="1">TonyDon</option>
            <option value="2" selected>爱睡懒觉的程序猿</option>
        </select>
    </label>
</form>

效果如下:

栏目 TonyDon 爱睡懒觉的程序猿

选项还可以分组:

<form action="">
    <label for="">栏目
        <select name="" id="">
            <optgroup label="昵称">
                <option value="1">TonyDon</option>
                <option value="2" selected>爱睡懒觉的程序猿</option>
            </optgroup>
            <optgroup label="编程语言">
                <option value="3">Java</option>
                <option value="4">JavaScript</option>
            </optgroup>
        </select>
    </label>
</form>

效果如下:

栏目 TonyDon 爱睡懒觉的程序猿 Java JavaScript
单选框

type = "radio"为单选框:name值要相同,idvalue值不同,设置<label>标签,当我们点击文字时,也会选中单选框。checked属性为默认选中

<form action="">
    <input type="radio" name="sex" id="boy" value="boy" checked>
    <label for="boy">男孩</label>
    <input type="radio" name="sex" id="girl" value="girl">
    <label for="girl">女孩</label>
</form>

效果如下:

男孩 女孩
多选框

type = "checkbox"为多选框,操作和单选框一样,checked属性为选中

<form action="">
    注册方式:
    <input type="checkbox" name="email" id="email" value="email" checked>
    <label for="email">邮箱注册</label>
    <input type="checkbox" name="mobile" id="mobile" value="mobile">
    <label for="mobile">手机注册</label>
</form>

效果如下:

注册方式: 邮箱注册 手机注册
文件上传

type = "file"为文件上传

<form action="" enctype="multipart/form-data">
    <input type="file">
</form>

可以上传多个文件:

<form action="" enctype="multipart/form-data">
    <input type="file" multiple name="image[]">
</form>

可以限制上传的文件类型:accept属性设置

<form action="" enctype="multipart/form-data">
    <input type="file" multiple name="image[]" accept=".png,.jpg">
</form>
日历选择

type = "date"为日历选择:可以选择日历

<form action="">
    <input type="date">
</form>

效果如下:

同时我们还可以设置其实日期和截至日期:

<form action="">
    <input type="date" min="2020-05-01" max="2024-06-01">
</form>

效果如下:

还可以设置间隔的天数:如下为间隔五天

<form action="">
    <input type="date" min="2020-05-01" max="2024-06-01" step="5">
</form>
时间选择

type = "time"为时间选择:可以选择时间

<form action="">
    <input type="time">
</form>

效果如下:

周选择

type = "week"为周选择:可以选择周

<form action="">
    <input type="week">
</form>

效果如下:

datetime-local

type = "datetime-local"可以同时选择年月日和时间:

<form action="">
    <input type="datetime-local" min="2020-05-01" max="2024-06-01">
</form>
搜索框

type = "search"为搜索框:

<form action="">
    <input type="search">
</form>

可以设置搜索的数据,使用<datalist>标签:

<form action="">
    <input type="search" list="td">
    <datalist id="td">
        <option value="英雄联盟">电子竞技</option>
        <option value="TonyDon">爱睡懒觉的程序猿</option>
    </datalist>
</form>

效果如下:

电子竞技 爱睡懒觉的程序猿

属性详解

设置初始值

我们可以设置文本的初始值,通过给value属性赋值来实现:

<form action="">
    <input type="text" value="TonyDon">
</form>

效果如下:

提示字段

我们也可以设置提示字段,当文本输入框没有输入内容的时候会显示的提示字段,通过placeholder属性来实现:

<form action="">
    <input type="text" placeholder="请输入账号">
</form>

效果如下:

设置必须输入

可以设置某个表单必须输入,通过required属性设置:

<form action="">
    <input type="text" required>
</form>
最大输入字符

还可以设置最大输入的字符数量:

<form action="">
    <input type="text" maxlength="10">
</form>

效果如下,可以体验一下:

只读字段

使用readonly属性设置表单内容只读,不可更改,但是可以发给后台

<form action="">
    <input type="text" value="只读内容" readonly>
</form>

效果如下:

禁用表单

使用disable属性禁用表单,表单内容只能看,无法修改,也无法发送给后台

<form action="">
    <input type="text" value="禁用表单" disabled>
</form>

效果如下:

历史数据的自动提示

使用autocomplete="on"属性设置历史的数据自动提示:

<form action="">
    <input type="text" autocomplete="on">
    <input type="submit">
</form>

感谢阅读!

个人博客:tonydon.club/