2 HTML 中级
表单<form>
[!hint] 表单按钮在
<form>中,还是外
- 表单按钮在
<form>中:提交表单时会刷新页面- 表单按钮在
<form>外:提交表单时不会刷新页面
action指定表单提交时去往的 URL 地址method表单数据的提交方式get 会在 URL 后面拼接表单数据【当表单数据很长时不推荐】
html<form action="去往的url" method="get"> //action不写默认提交到当前页面 </form> file:///E:/VScode/html/9_9.html?username=123&password=456 //URL后面会出现表单数据post 在消息体中传递【表单数据大小无限制】
enctype指定表单数据提交的格式- 默认
- multipart/form-data 用于提交文件的格式【其他格式提交文件会只提交文件名】
<fieldset>组合表单数据<legend>为<fieldset>定义标题
autocomplete是否记录用户上次填写的数据- on 可以在下一次填写时,记忆上次填写的内容
- off
<form action="action_page.php">
<fieldset>
<legend>Personal information:</legend>
First name:
<input type="text" name="firstname" value="Mickey">
<br>
Last name:
<input type="text" name="lastname" value="Mouse">
<br>
<input type="submit" value="Submit">
</fieldset>
</form>Personal information:First name:
Last name: \
<input>
typetext单行输入字段password密码字段radio单选按钮checkbox复选框file文件上传按钮需要设置指定的编码格式
html<form action="" method="get" enctype="multipart/form-data"> //需要指定编码格式enctype 图像: <input type="file" name="image"><br><br> </form>date日期time时间month月份,年份week周,年color颜色range一个范围datetime-local日期+时间number数字输入框email邮件输入框hidden隐藏域按钮submit提交按钮reset重置按钮【重置表单数据】button可点击按钮
namename 相同表示是同一个表单项,必须指定value规定输入字段的初始值autocomplete是否记录用户上次填写的数据- on 可以在下一次填写时,记忆上次填写的内容
- off
autofocus当页面加载完成后,某个input自动获得焦点multiple允许输入多个值【适用于file,email】placeholder输入值时的提示formaction指定按钮的提交地址,会覆盖<form>表单的actionformenctype指定按钮的提交编码,会覆盖<form>的enctypeformmethod指定按钮的提交方式,会覆盖<form>的method
<form action="" method="get">
用户名: <input type="text" name="username"><br><br>
密码: <input type="password" name="password"><br><br>
性别:
<input type="radio" name="gender" value="男">男
<input type="radio" name="gender" value="女">女<br><br>
爱好:
<input type="checkbox" name="hobby" value="java">java
<input type="checkbox" name="hobby" value="c">c
<input type="checkbox" name="hobby" value="python">python<br><br>
图像: <input type="file" name="image"><br><br>
生日: <input type="date" name="birthday"><br><br>
时间: <input type="time" name="time"><br><br>
月份年份:<input type="month" name="bdaymonth"><br><br>
周,年:<input type="week" name="week_year"><br><br>
颜色:<input type="color" name="favcolor"><br><br>
范围:<input type="range" name="points" min="0" max="10"><br><br>
日期时间: <input type="datetime-local" name="datatime"><br><br>
邮箱: <input type="email" name="email"><br><br>
年龄: <input type="number" name="age" placeholder="写年轻点"><br><br>
<input type="hidden" name="id" value="1">
<input type="submit" value="提交">
<input type="submit" value="提交给管理员" formaction="" formenctype="multipart/form-data">
<input type="reset" value="重置">
<input type="button" value="按钮">
</form>用户名:
密码:
性别: 男 女
爱好: java c python
图像:
生日:
时间:
月份年份:
周,年:
颜色:
范围:
日期时间:
邮箱:
年龄:
[!hint] 可以使用以下属性对
type进行数据的限制
| 属性 | 描述 |
|---|---|
| max | 规定输入字段的最大值 |
| maxlength | 规定输入字段的最大字符数 |
| min | 规定输入字段的最小值 |
| pattern | 规定检查输入值的正则表达式 |
| readonly | 规定输入字段为只读(无法修改),可提交 |
| disabled | 规定输入字段被禁用,不可修改,不可提交 |
| required | 规定输入字段是必需的 |
| size | 规定输入字段的宽度(以字符计) |
| step | 规定输入字段的合法数字间隔 |
<datalist>
为 input 设置预选值
<form action="/demo/demo_form.asp">
<input list="browsers" name="browser">
<datalist id="browsers">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
<input type="submit">
</form>下拉表单<select>
<option>
定义选项
selected可以指定预选项,不指定则默认第一个
<form action="" method="get">
<select name="degree">
<option value="0">请选择</option>
<option value="1" selected>小学</option>
<option value="2">高中</option>
<option value="3">大学</option>
<option value="4">博士</option>
</select><br><br>
</form>请选择小学高中大学博士
\
<textarea>
<form action="" method="get">
描述:<textarea name="description" cols="30" rows="10">aaa</textarea><br><br>
</form>描述:aaa
\
网页内网页<ifame>
/* 单击链接,会iframe里的内容就会跳转到b站 */
<iframe src="https://www.baidu.com/" name="baidu" width="700" height="200"></iframe>
<a href="https://www.bilibili.com/" target="baidu">点我</a>图像
画布<Canvas>
<canvas>元素使用JavaScript绘制图像
规定 id,高度,宽度
html<canvas id="myCanvas" width="200" height="100"></canvas>JavaScript 通过
id找到<canvas>创建 context 对象
……
var c=document.getElementById("myCanvas");
var cxt=c.getContext("2d");
cxt.fillStyle="#FF0000";
cxt.fillRect(0,0,150,75);[!hint] 优缺点
- 由于基于像素绘制,依赖分辨率
- 由于基于像素绘制,不支持事件处理
- 适合需要频繁重绘场景【因为只需要修改部分像素】
https://www.w3school.com.cn/graphics/canvas\_intro.asp
矢量图<SVG>
SVG 指可伸缩矢量图形,使用 XML 格式定义图形
[!hint] SVG 的优点
- 支持事件处理
- SVG 图像可通过文本编辑器来创建和修改
- SVG 图像可被脚本化【利用 JavaScript 实现交互性,动态效果】
- SVG 放大,其图形质量不会有损失
- 不如
canvas快
https://www.w3school.com.cn/graphics/svg\_intro.asp
多媒体
使用超链接
用户点击包含文件的链接时,浏览器会启动“辅助应用程序”来播放该文件
<a href="song.mp3">Play the sound</a>上传到视频平台,使用<frame>
<iframe width="560" height="315" src="https://www.youtube.com/embed/i5o_VNh4VTM?si=JdS8CI8FGHZ6OhK_"
title="YouTube video player" frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
</iframe>音频<audio>
<audio src="E:\迅雷下载\就是爱你-陶喆.flac" controls>流沙</audio>[!attention] 不推荐使用,跨平台性不好,而且复杂
视频<video>
autoplay 视频就绪后自动播放 controls 视频的控制按钮【暂停,音量调节等】 width 视频的宽度 height 视频的高度 loop 视频播放完成后再次播放 muted 视频播放默认静音 poster 视频未播放时显示的图片
<video src="D:\Overthink|时光代理人ED原创舞蹈【Figo × 王一大只】.mp4" poster="https://img0.baidu.com/it/u=1802578230,1841279071&fm=253&fmt=auto&app=120&f=JPEG?w=800&h=500" controls loop width="700"></video>嵌入式对象<embed>
可以把 PDF 阅读器,Flash 播放器,网页嵌入网页中,最重要的是可以嵌入插件
/* data里面可以放音频,视频等 */
<embed width="100%" height="500px" data="https://www.w3school.com.cn/html/html_object.asp">新标签
| 标签 | 描述 |
|---|---|
| <dialog> | 定义对话框或窗口 |
| <progress> | 定义任务进度 |
| <rt> | 定义关于字符的解释/发音(用于东亚字体) |
| # API | |
| https://www.w3school.com.cn/html/html5\_geolocation.asp |