HTML表单

本文章属于学习笔记,在https://www.freecodecamp.org/chinese/learn/2022/responsive-web-design/中练习

四、HTML表单

CSS

1、vh单位表示视口高度,等于视口高度的1%。这使得它相对于视口高度。height:100vh;

2、设置 body 的默认 margin 为 0 来重置一些浏览器的默认设置,从而去掉水平滚动条。

3、background-color 设置为 #1b1b32,使背景更护眼。 然后相应的把 color 设置为 #f5f6f7,让文字显示出来。

4、method 属性指定了如何将表单数据发送到 action 属性中指定的 URL。 表单数据可以通过 GET 请求作为 URL 参数发送(method=“get”)或通过 POST 请求作为请求正文中的数据发送(method=“post”)。

<form action='https://register-demo.freecodecamp.org' method="post"></form>

5、rem 单位代表根 em,与 html 元素的字体大小有关。label 元素默认是行内元素,它们出现在其标签文本的同一行,使得文本难以阅读。 给 label 元素添加 display: block,并设置其 margin 为 0.5rem 0,来使其显示在不同的行,并且行之间有一定的距离。margin:0.5rem 0;

6、email 类型只允许包含 @ 以及域名中包含 . 的电子邮件。<input id="email" type="email"/> password 类型会屏蔽输入,如果网站没有启用 HTTPS 会警告。<input id="new-password" type="password" />

7、一些 type 属性值含有内置表单验证。 例如, type="email" 要求该值是一个有效的电子邮件地址。

给密码 input 元素添加自定义验证,新增 minlength 属性设置其值为 8。 这样密码少于 8 个字符的时候会阻止提交。<input id="new-password" type="password" minlength="8" required /></label>
8、在 type="password" 内可以使用 pattern 属性来使用正则表达式来校验密码。
给密码 input 元素添加 pattern 属性,要求输入匹配 [a-z0-5]{8,}

<input id="new-password" type="password" pattern="[a-z0-5]{8,}" required />

9、两个输入添加required将向用户传递错误的信息。要解决这个问题,您可以通过在第二个字段集中的标签元素之前添加一个带有文本Account类型(required)的图例元素来提供所需的上下文。然后将checked属性添加到Personal输入,以确保提交的表单中包含所需的数据。

<legend>Account type (required)</legend>
<label><input type="radio" name="account-type" checked /> Personal</label>

10、类型为 file 的 input 可以实现允许用户上传个人资料图片 <label><input type="file">Upload a profile picture:</label>
11、input 并设置其 type 为 number, min 属性最小值, max 属性最大值<input type="number" min="13" max="120" >
12、使用 select 元素给表单添加一个下拉列表很方便。 select 元素是包含一组 option 元素的容器,option 元素就是下拉列表的内容。 每一个元素都需要一个结束标签。
13、提交带有选择菜单的表单向服务端发送的信息 value 并不是预期的。 因此,每一个 option 需要指定一个 value 属性。 如果没有指定,向服务器默认提交的是 option 内的文本。

			<option value="">(select one)</option><option value="1">freeCodeCamp News</option><option value="2">freeCodeCamp YouTube Channel</option><option value="3">freeCodeCamp Forum</option><option value="4">Other</option>

14、textarea 元素和 text 类型的 input 类似,区别是 textarea 有一些额外的好处,比如可以方便地添加更多的文本以及设置默认显示的行数和列宽。
添加 rows (行)和 cols(列) 属性,来指定它的初始大小。placeholder 接受一个文本值,在用户开始键入之前显示以提示用户<textarea id ="bio" rows="3" cols="30" placeholder="I like coding on the beach..."></textarea>
15、选择 fieldset,设置其 border-bottom 为 3px solid #3b3b4f,来给它们添加一些间距。 border-bottom:3px solid #3b3b4f;
16、可以使用 last-of-type CSS 伪类选择特定类型的最后一个元素p:last-of-type { }
17、 width :unset。 这会清除之前设置的 input 元素的 width: 100% 规则。
18、同行里过于高了,设置其 vertical-align: middle 来修复这一点
19、_属性_选择器,它根据给定的属性值选择元素。input[type="submit"]{ display:block; width:60%; }

styles.css
body {width: 100%;height: 100vh;margin: 0;background-color: #1b1b32;color: #f5f6f7;font-family: Tahoma;font-size: 16px;
}h1, p {margin: 1em auto;text-align: center;
}form {width: 60vw;max-width: 500px;min-width: 300px;margin: 0 auto;padding-bottom: 2em;
}fieldset {border: none;padding: 2rem 0;border-bottom: 3px solid #3b3b4f;
}fieldset:last-of-type {border-bottom: none;
}label {display: block;margin: 0.5rem 0;
}input,
textarea,
select {margin: 10px 0 0 0;width: 100%;min-height: 2em;
}input, textarea {background-color: #0a0a23;border: 1px solid #0a0a23;color: #ffffff;
}.inline {width: unset;margin: 0 0.5em 0 0;vertical-align: middle;
}input[type="submit"] {display: block;width: 60%;margin: 1em auto;height: 2em;font-size: 1.1rem;background-color: #3b3b4f;border-color: white;min-width: 300px;
}input[type="file"] {padding: 1px 2px;
}.inline{display: inline; 
}a{color:#dfdfe2;
}
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Registration Form</title><link rel="stylesheet" href="styles.css" /></head><body><h1>Registration Form</h1><p>Please fill out this form with the required information</p><form method="post" action='https://register-demo.freecodecamp.org'><fieldset><label for="first-name">Enter Your First Name: <input id="first-name" name="first-name" type="text" required /></label><label for="last-name">Enter Your Last Name: <input id="last-name" name="last-name" type="text" required /></label><label for="email">Enter Your Email: <input id="email" name="email" type="email" required /></label><label for="new-password">Create a New Password: <input id="new-password" name="new-password" type="password" pattern="[a-z0-5]{8,}" required /></label></fieldset><fieldset><legend>Account type (required)</legend><label for="personal-account"><input id="personal-account" type="radio" name="account-type" class="inline" checked /> Personal</label><label for="business-account"><input id="business-account" type="radio" name="account-type" class="inline" /> Business</label></fieldset><fieldset><label for="profile-picture">Upload a profile picture: <input id="profile-picture" type="file" name="file" /></label><label for="age">Input your age (years): <input id="age" type="number" name="age" min="13" max="120" /></label><label for="referrer">How did you hear about us?<select id="referrer" name="referrer"><option value="">(select one)</option><option value="1">freeCodeCamp News</option><option value="2">freeCodeCamp YouTube Channel</option><option value="3">freeCodeCamp Forum</option><option value="4">Other</option></select></label><label for="bio">Provide a bio:<textarea id="bio" name="bio" rows="3" cols="30" placeholder="I like coding on the beach..."></textarea></label></fieldset><label for="terms-and-conditions"><input class="inline" id="terms-and-conditions" type="checkbox" required name="terms-and-conditions" /> I accept the <a href="https://www.freecodecamp.org/news/terms-of-service/">terms and conditions</a></label><input type="submit" value="Submit" /></form></body>
</html>

在这里插入图片描述

使用学习网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【掌握版本控制:Git 入门与实践指南】远程操作|标签管理

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;泥中に咲く—ウォルピスカーター 0:34━━━━━━️&#x1f49f;──────── 4:46 &#x1f504; ◀️ ⏸ ▶…

汽车IVI中控开发入门及进阶(十三):语音识别

前言: IVI中控上的语音识别,在目前市场上也是非常显眼的一个创新,大幅改变了传统IVI的操作习惯。 语音识别Speech recognition,也称为自动语音识别(ASR)、计算机语音识别或语音到文本,是一种使程序能够将人类语音处理成书面格式的能力。 语音识别Speech recognition是计…

数码管的静态显示(二)

1.原理 要按照上图的顺序传递位选和段选的数据。 因为q0是最高位&#xff0c;共阳极数码管结构是dp....a&#xff0c;所以应该先传入低位a&#xff0c;而a在上图中的8段2进制编码中是seg[7]&#xff0c;所以段选信号的顺序是seg[0],...seg[7]。 因为输出信号是两个时钟&#x…

Docker入门笔记(1)

Docker入门笔记&#xff08;1&#xff09; 容器技术入门 之前我的WIT问卷管理系统在阿里云上部署需要好多配置&#xff0c;各个环境耦合的比较紧密&#xff0c;花了不少时间去做部署和调配。 现在有了Docker以后&#xff0c;我们可以把各种组件配置好&#xff0c;然后打包成…

使用ScottPlot库在.NET WinForms中快速实现大型数据集的交互式显示

前言 在.NET应用开发中数据集的交互式显示是一个非常常见的功能&#xff0c;如需要创建折线图、柱状图、饼图、散点图等不同类型的图表将数据呈现出来&#xff0c;帮助人们更好地理解数据、发现规律&#xff0c;并支持决策和沟通。本文我们将一起来学习一下如何使用ScottPlot库…

websocket逆向案例

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、案例地址二、分析流程三、逆向参数四、webSocket 交互位置总结 前言 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供…

OPPO后端二面,凉了!

这篇文章的问题来源于一个读者之前分享的 OPPO 后端凉经&#xff0c;我对比较典型的一些问题进行了分类并给出了详细的参考答案。希望能对正在参加面试的朋友们能够有点帮助&#xff01; Java String 为什么是不可变的? public final class String implements java.io.Seri…

‘UnityEngine.Application‘ does not contain a definition for isBatchMode

unity 2017.4.37f1. 解决办法: Try to replace Application.isBatchMode with UnityEditorInternal.InternalEditorUtility.inBatchMode

Ps:拾色器

在 Adobe 拾色器中&#xff0c;可以使用四种颜色模型来设置颜色&#xff1a;HSB、RGB、Lab 和 CMYK。 使用“拾色器”对话框可以设置前景色、背景色、填充颜色、文本颜色及专色等的颜色值。 ◆ ◆ ◆ 常用操作方法与技巧 1、注意观察“拾色器”对话框标题栏中括号里的内容&am…

Kafka MQ 生产者

Kafka MQ 生产者 生产者概览 尽管生产者 API 使用起来很简单&#xff0c;但消息的发送过程还是有点复杂的。图 3-1 展示了向 Kafka 发送消息的主要步骤。 我们从创建一个 ProducerRecord 对象开始&#xff0c;ProducerRecord 对象需要包含目标主题和要发送的内容。我们还可以…

windows ffmpeg 编译环境搭建

编译ffmpeg https://www.msys2.org/ https://www.ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows 1.安装msys2 2.安装yasm或者nasm 打开VC 本地环境命令行 唤醒msys2界面 配置编译环境变量参数 export PATH"/d/vs…

Dynamo处理Excel——调用Microsoft.Office.Interop.Excel教程

你好&#xff0c;这里是BIM的乐趣&#xff0c;我是九哥~ 今天我们来聊聊如何通过Dynamo处理Excel数据以及格式&#xff0c;Dynamo自带的节点肯定是不行&#xff0c;所以我们需要来用Python解决&#xff08;当然有个节点包 Bumblebee&#xff0c;我在案例百解教程里有过介绍&a…

如何实现sam(Segment Anything Model)|fastsam模型

sam是2023年提出的一个在图像分割领域的大模型&#xff0c;其具备了对任意现实数据的分割能力&#xff0c;其论文的介绍可以参考 https://hpg123.blog.csdn.net/article/details/131137939&#xff0c;sam的亮点在于提出一种工作模式&#xff0c;同时将多形式的prompt集成到了语…

短剧在线搜索源码(全网首发)

一个非常哇塞的在线短剧搜索页面&#xff0c;接口已经对接好了&#xff0c;上传源码到服务器解压就能直接用&#xff0c;有能力的可以自己改接口自己写自己的接口 接口文档地址&#xff1a;doc.djcat.sbs 源码下载地址&#xff1a;https://pan.xunlei.com/s/VNstN8C6N3VK1a1k…

使用Docker在windows上安装IBM MQ

第一步、安装wsl 详见我另一篇安装wsl文章。 第二步、安装centos 这里推荐两种方式&#xff0c;一种是从微软商城安装&#xff0c;一种是使用提前准备好的镜像安装&#xff0c;详见我另一篇windos下安装centos教程。 第三步、安装windows下的Docker desktop 详见我另一篇wind…

【牛客】HJ62 查找输入整数二进制中1的个数

题目链接&#xff1a;查找输入整数二进制中1的个数_牛客题霸_牛客网 (nowcoder.com) 解题思路&#xff1a; 解法一: 可以举一个八位的二进制例子来进行分析&#xff0c;对于二进制操作&#xff0c;我们直到&#xff0c;除以一个2&#xff0c;原来的数字会减少一个0.如果除的过程…

Window API 使用的一些注意事项

文章目录 1、LPCWSTR类型2、LPCTSTR类型3、LPCSTR类型4、LPCTSTR和LPCWSTR区别5、LPCTSTR和LPCSTR、LPCWSTR三者区别6、_T(" ")7、DWORD类型转换为std::wstring类型8、char类型转换为LPCSTR类型9、获取当前时间戳(毫秒)10、std::wstring和LPCSTR区别11、std::wstring…

2024年【危险化学品生产单位安全生产管理人员】复审考试及危险化学品生产单位安全生产管理人员模拟试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员复审考试根据新危险化学品生产单位安全生产管理人员考试大纲要求&#xff0c;安全生产模拟考试一点通将危险化学品生产单位安全生产管理人员模拟考试试题进行汇编&#xff0c;组成…

Midjourney新算法来袭!解决你角色形象一致性的大难题——亲测猫与女孩跨场景表现

嘿&#xff0c;朋友们&#xff0c;你们想过这个问题吗&#xff1f; 当你在制作一部电影或写一部小说时&#xff0c;你总希望同一个角色能在不同的场景和背景下出现&#xff0c;对吧&#xff1f; 但这时&#xff0c;一个难题冒出来了&#xff1a;如何确保这个角色的形象在各个…

AWS的CISO:GenAI只是一个工具,不是万能钥匙

根据CrowdStrike的年度全球威胁报告,尽管研究人员预计人工智能将放大对防御者和攻击者的影响,但威胁参与者在其行动中使用人工智能的程度有限。该公司上个月在报告中表示:“在整个2023年,很少观察到GenAI支持恶意计算机网络运营的开发和/或执行。” 对于GenAI在网络安全中的…