HTML表单创建学习

文章目录

  • 1、创建HTML框架
  • 2.body标签CSS
  • 3.表单创建
    • 3.1、添加fieldset与label标签
    • 3.2、为label标签添加css样式
    • 3.3、添加input标签
    • 3.4、添加提交按钮
    • 3.5、在input标签中添加required
    • 3.6、添加minlength属性
    • 3.7、pattern属性
    • 3.8、设置表单单选按钮无法同时选中
    • 3.9、添加链接
    • 3.10、添加图片上传表单
    • 3.11、添加年龄限制属性
    • 3.12、添加下拉列表
  • 4.完整代码


1、创建HTML框架

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="styles.css" />
</head>
<body>
    
</body>
</html>

2.body标签CSS

body{
    width:100%;
    height:100vh;
    margin:0;
    background-color:#1b1b32;
    color:#f5f6f7;
  }

3.表单创建

3.1、添加fieldset与label标签

fieldset>标签:用于将表单中的相关元素进行分组,通常与 legend标签一起使用,以提供关于该组的描述。fieldset标签的主要目的是对表单元素进行逻辑分组,以提高可读性和可用性。

label 标签:用于为表单元素(如输入框、单选按钮等)定义文本描述。label 标签的主要目的是提高用户体验,因为它允许用户通过单击标签文本来选择表单元素,而不仅仅是单击表单元素本身。此外,屏幕阅读器和其他辅助技术也可以使用 label 标签来为用户提供有关表单元素的更多信息。

 <fieldset>
            <label>Enter Your First Name: </label>
            <label>Enter Your Last Name: </label>
            <label>Enter Your Email: </label>
            <label>Create a New Password: </label>
        </fieldset>

3.2、为label标签添加css样式

label{
    display: block;
    margin : 0.5rem 0;
  }

3.3、添加input标签

 <fieldset>
            <label for="first-name">Enter Your First Name:</label>
            <input id="first-name" type="text" />
            <label for="last-name">Enter Your Last Name:</label>
            <input id="last-name" type="text" />
            <label for="email">Enter Your Email:</label>
            <input id="email" type="email" />
            <label for="new-password">Create a New Password:</label>
            <input id="new-password" type="password" />
        </fieldset>

3.4、添加提交按钮

<input type="submit" value="Submit"/>

3.5、在input标签中添加required

required属性的作用是指定表单元素必须填写,不能留空。当用户提交表单时,如果该表单元素未填写,浏览器会阻止表单提交并显示错误提示。

<fieldset>
            <label for="first-name">Enter Your First Name:</label>
            <input id="first-name" type="text"  required/>
            <label for="last-name">Enter Your Last Name:</label>
            <input id="last-name" type="text"  required/>
            <label for="email">Enter Your Email:</label>
            <input id="email" type="email"  required/>
            <label for="new-password">Create a New Password:</label>
            <input id="new-password" type="password"  required/>
        </fieldset>

3.6、添加minlength属性

minlength属性的作用是指定表单元素输入的最小长度,即用户必须输入至少指定长度的字符才能通过验证。如果用户输入的字符数小于指定的最小长度,浏览器会阻止表单提交并显示错误提示。

<input id="new-password" type="password"  required minlength="8"/>

在这里插入图片描述

3.7、pattern属性

pattern属性的作用是指定表单元素输入的模式,即用户必须按照指定的模式输入内容才能通过验证。pattern属性使用正则表达式来描述输入的模式,如果用户输入的内容与正则表达式不匹配,浏览器会阻止表单提交并显示错误提示。

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

3.8、设置表单单选按钮无法同时选中

 <fieldset>
            <legend>Account type (required)</legend>
            <label for="personal-account"><input type="radio" name="account-type" checked  id="personal-account" /> Personal</label>
            <label for="business-account"><input type="radio" name="account-type" id="business-account" /> Business</label>
          </fieldset>
        <fieldset></fieldset>
        <label for="terms-and-conditions"><input type="checkbox" id="terms-and-conditions" required></label>
        <input type="submit" value="Submit"/>

在这里插入图片描述

3.9、添加链接

 <label for="terms-and-conditions"><input type="checkbox" id="terms-and-conditions" required>I accept the <a href="https://www.freecodecamp.org/news/terms-of-service/">terms and conditions</a></label>

在这里插入图片描述

3.10、添加图片上传表单

  <fieldset>
            <label>Upload a profile picture: <input type="file"></label>
        </fieldset>

在这里插入图片描述

3.11、添加年龄限制属性

<label>Input your age (years): <input type="number" min="13" max="120" /></label>

在这里插入图片描述

3.12、添加下拉列表

<fieldset>
  <label for="profile-picture">Upload a profile picture:</label>
  <input type="file" id="profile-picture" />
  <label for="age">Input your age (years):</label>
  <input type="number" id="age" min="13" max="120" />
  <label for="referrer">How did you hear about us?</label>
  <select id="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 for="bio">Provide a bio:</label>
  <textarea id="bio"></textarea>
</fieldset>

在这里插入图片描述

4.完整代码

<!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>
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/618132.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器人系统ros2-开发实践06-将静态坐标系广播到 tf2(Python)-定义机器人底座与其传感器或非移动部件之间的关系

发布静态变换对于定义机器人底座与其传感器或非移动部件之间的关系非常有用。例如&#xff0c;最容易推断激光扫描仪中心框架中的激光扫描测量结果。 1. 创建包 首先&#xff0c;我们将创建一个用于本教程和后续教程的包。调用的包learning_tf2_py将依赖于geometry_msgs、pyth…

简约在线生成短网址系统源码 短链防红域名系统 带后台

简约在线生成短网址系统源码 短链防红域名系统 带后台 安装教程&#xff1a;访问 http://你的域名/install 进行安装 源码免费下载地址抄笔记 (chaobiji.cn)https://chaobiji.cn/

刨析YOLOv8的改进模块

1、YOLOv5回顾 这里粗略回顾一下,这里直接提供YOLOv5的整理的结构图吧:Backbone:CSPDarkNet结构,主要结构思想的体现在C3模块,这里也是梯度分流的主要思想所在的地方;PAN-FPN:双流的FPN,必须香,也必须快,但是量化还是有些需要图优化才可以达到最优的性能,比如cat前后…

支持视频切片的开源物联网平台

软件介绍 MzMedia开源视频联动物联网平台是一个简单易用的系统,该平台支持主流短视频平台&#xff08;如抖音、快手、视频号&#xff09;的推流直播功能&#xff0c;同时提供视频切片等功能。系统后端采用Spring Boot&#xff0c;前端采用Vue3和Element Plus&#xff0c;消息服…

构建教育新未来:智慧校园平台的深度解读与全景呈现

引言 在全球数字化转型的大潮中&#xff0c;智慧校园平台作为教育信息化的重要载体&#xff0c;正以前所未有的姿态颠覆传统的教育模式&#xff0c;引领教育行业步入一个崭新的时代。这个融合了大数据、人工智能、云计算、物联网等一系列前沿科技的平台&#xff0c;以其强大的功…

python算法demo0512

最长回文数 代码 class Solution:def longestPalindrome(self, s: str) -> str:n len(s)if n < 2:return smax_len 1begin 0# dp[i][j] 表示 s[i..j] 是否是回文串dp [[False] * n for _ in range(n)]for i in range(n):dp[i][i] True# 递推开始# 先枚举子串长度fo…

pycharm本地文件更新至虚拟机

tools–>deployment–>configuration root path的路径要跟远程路径对齐&#xff0c;方便后续运行 mapping映射&#xff0c;本地路径和远程路径 点击Browse 可以在右侧同步查看更新情况

llama3 发布!大语言模型新选择 | 开源日报 No.251

meta-llama/llama Stars: 53.0k License: NOASSERTION llama 是用于 Llama 模型推理的代码。 提供了预训练和微调的 Llama 语言模型&#xff0c;参数范围从 7B 到 70B。可以通过下载脚本获取模型权重和 tokenizer。支持在本地快速运行推理&#xff0c;并提供不同规格的模型并…

Vue报错:TypeError: Cannot read property ‘upgrade‘ of undefined

Vue报错&#xff1a;TypeError: Cannot read property ‘upgrade’ of undefined 前言 最近打开一个很就之前的开发项目&#xff0c;因为扫描包&#xff0c;所以删除了部分代码&#xff0c;后来就一直报错&#xff0c;现在总结一下。 报错原因&#xff1a;vue.config.js中 d…

探索数据结构:树与二叉树

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 树 1.1. 树的定义 树是一种非线性的数据结构&#xff0c;它是由n&a…

设计模式 六大原则之开放封闭原则

文章目录 定义理解 小结 定义 开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的&#xff0c;但对于修改是封闭的。这意味着应该用抽象定义结构&#xff0c;用具体实现扩展细节&#xff0c;以此确保软件系统开发和维护过程的可靠性。 理解 怎么理解这个呢&#x…

pycharm 里面安装 codeium 插件的时候,不能够弹出登录界面

pycharm 里面安装 codeium 插件的时候&#xff0c;不能够弹出登录界面 pycharm 里面安装 codeium 插件的时候&#xff0c;不能够弹出登录界面--解决如下A pycharm 里面安装 codeium 插件的时候&#xff0c;不能够弹出登录界面–解决如下 #踩坑/pycharm/codeium插件无法登录 安…

AI预测福彩3D采取887定位策略+杀断组+杀和尾+杀和值012缩水测试5月12日预测第1弹

前段时间工作太忙&#xff0c;手头上各种事情较多&#xff0c;没有静下心来对我的AI模型预测结果进行进一步分析筛选&#xff0c;导致最近连续几期与实际开奖结果相差较大。当然&#xff0c;客观来说&#xff0c;搞6码定位的确难度比较大&#xff0c;昨天跟几个常年研究3D的彩友…

计算机毕业设计springboot+vue高校教师职称评审评定系统605z3

技术栈 前端&#xff1a;vue.jsElementUI 开发工具&#xff1a;IDEA 或者eclipse都支持 编程语言: java 框架&#xff1a; ssm/springboot 数据库: mysql 版本不限 数据库工具&#xff1a;Navicat/SQLyog都可以 详细技术&#xff1a;javaspringbootvueMYSQLMAVEN 本系统采用in…

Golang 开发实战day13 - Reciver Functions

&#x1f3c6;个人专栏 &#x1f93a; leetcode &#x1f9d7; Leetcode Prime &#x1f3c7; Golang20天教程 &#x1f6b4;‍♂️ Java问题收集园地 &#x1f334; 成长感悟 欢迎大家观看&#xff0c;不执着于追求顶峰&#xff0c;只享受探索过程 Golang 开发实战day13 - 接收…

【linux】linux工具使用

这一章完全可以和前两篇文件归类在一起&#xff0c;可以选择放一起看哦 http://t.csdnimg.cn/aNaAg http://t.csdnimg.cn/gkJx7 拖更好久了&#xff0c;抱歉&#xff0c;让我偷了会懒 1. 自动化构建工具 make , makefile make 是一个命令&#xff0c;makefile 是一个文件&…

阿里开源编程大模型 CodeQwen1.5:64K92编程语言,Code和SQL编程,评测接近GPT-4-Turbo

前言 阿里巴巴最近发布的CodeQwen1.5模型标志着其在编程语言模型领域的一次重大突破。这款开源模型不仅支持高达92种编程语言和64K的上下文长度&#xff0c;而且在多项性能评测中显示出接近或超过当前行业领导者GPT-4-Turbo的能力。 Huggingface模型下载&#xff1a;https://h…

网络层(计算机网络谢希仁第八版)——学习笔记四

关于网络层的争论 争论的内容&#xff1a;网络层应该想运输层提供正阳的服务&#xff0c;是“面向连接的”还是“无连接”。 其实质就是&#xff1a;可靠交付应该交给谁负责&#xff1f;面向连接表示网络层负责可靠交付&#xff0c;无连接则是把这个任务交给运输层。 让网络层负…

【图像识别】Swin Transformer

一、引言 论文&#xff1a; Swin Transformer: Hierarchical Vision Transformer using Shifted Windows 作者&#xff1a; Microsoft Research Asia 代码&#xff1a; Swin Transformer 特点&#xff1a; 提出滑动窗口自注意力 (Shifted Window based Self-Attention) 解决Vi…

【中航证券军工】北摩高科2023年报2024Q1点评:聚焦航空及军工主赛道,民机业务有望成为第二曲线

事件 公司4月24日公告&#xff0c;2024Q1实现营收&#xff08;2.40亿元&#xff0c;同比-23.71%)&#xff0c;归母净利润&#xff08;0.73亿元&#xff0c;同比-45.63%)&#xff0c;毛利率&#xff08;62.63%&#xff0c;同比-7.22pcts)&#xff0c;净利率&#xff08;37.34%&…