从零开始学前端html篇3

表单基本结构

表单是 HTML 中用于创建用户输入区域的标签。它允许用户输入数据(例如文本、选择选项、文件等),并将这些数据提交到服务器进行处理。

<form>,表单标签,用于创建表单

常用属性:

action:指定表单提交的目标地址

method:指定表单提交的方式,如get(把表单数据附加到url后面),post(把表单数据放在请求体中)

用户输入控件:使用示例:<input type="text" name="username" id="username" placeholder="请输入您的用户名">

  • name 属性

    • 为输入字段指定一个名称。当表单提交时,这个名称-值对会被发送到服务器。服务器端脚本就是通过这个 name 来获取用户输入的数据。

    • 重要性必须设置 name 属性,否则输入的值将不会被提交。

  • id 属性

    • 为输入字段提供一个唯一的标识符。

    • 作用:主要用于:

      • <label> 标签关联,提高可访问性和用户体验(点击标签文本即可激活输入框)。

      • 在 JavaScript 中通过 document.getElementById() 来获取元素进行操作。

      • 在 CSS 中作为选择器来应用样式。

  • value 属性

    • 定义输入字段的初始值。

    • 对于 text, password, email 等,是输入框中默认显示的文本。

    • 对于 checkbox, radio,是当选中时提交到服务器的值。

    • 对于 submit, button,是按钮上显示的文本。

  • placeholder 属性

    • text, password, email 等文本输入框提供一个提示性文本,当输入框为空时显示。用户开始输入时,提示文本消失。

  • required 属性

    • 一个布尔属性,如果存在,表示该字段是必填的。用户在提交表单前必须填写此字段。

  • disabled 属性

    • 一个布尔属性,如果存在,表示该字段是禁用状态,用户不能与它交互,且其值不会随表单提交。

  • readonly 属性

    • 一个布尔属性,如果存在,表示该字段是只读的,用户不能修改其值,但其值会随表单提交。

文本框 <input type="text">

密码框 <input type="password">

单选按钮 <input type="radio">

复选框 <input type="checkbox">

下拉列表 <select>

文本域 <textarea>

提交按钮 <button type="submit">

scratch.html

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!--适应浏览器屏幕大小--><title>this is a good website</title><link rel="stylesheet" href="style.css">
</head><body><h1>hello!</h1><h1>欢迎使用本网页!</h1><br><hr><br><div class="card"><div class="button-group-h"><button class="btn">登录</button><button id="openFormBtn" class="btn">注册</button></div></div><br><hr><br><button class="btn" onclick="window.location.href = 'scratch_1.html'">点此查看今日菜品</button><div id="myFormModal" class="modal"><div class="modal-content"><span class="close-button">&times;</span> <h2>填写信息</h2><form><label for="name">姓名:</label><input type="text" id="name" name="name" required><br><br><label for="email">邮箱:</label><input type="email" id="email" name="email" required><br><br><label for="message">留言:</label><textarea id="message" name="message" rows="4"></textarea><br><br><label for="password">密码:</label><input type="password" id="password" name="password" required><br><br><input type="submit" value="提交"></form></div></div><script src="a.js"></script></body>
</html>

scratch_1.html

<!DOCTYPE html>
<html lang="zh-CN">
<head><title>今日菜色</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><link rel="stylesheet" href="style.css">
</head>
<body>
<dl><dt>今日食堂菜单</dt><dd>智慧食堂菜单实时更新!</dd>
</dl>
<br>
<ul><li>健康</li><li>美味</li><li>实时</li>
</ul>
<br>
<hr>
<br><table><tr><th>菜名</th><th>余量/份</th></tr><tr><td>麻婆豆腐</td><td>45</td></tr><tr><td>西红柿炒鸡蛋</td><td>32</td></tr>
</table><br>
<hr>
<br>
<h4>注意事项</h4>
<ol><li>不可预约</li><li>适量点餐</li><li>不要浪费</li>
</ol>
</body>
</html>

style.css

body{color:black;background-color:pink;font-weight: bold;text-align:center;
}.card{background:white;width:40%;margin:auto;border-radius:8px;box-shadow:0 3px 10px rgba(0,0,0,0.1);padding:20px;transition: transform 0.3s;
}.card:hover{transform:translateY(-5px);
}.btn {display: inline-block;background: #3498db;color: white;padding: 10px 20px;border: none;border-radius: 5px;cursor: pointer;
}.btn:hover {background: #2980b9;
}.button-group-h {justify-content: center;display: flex;gap:88px;}ul{display:flex;gap:8px 16px;justify-content: center;list-style-type: square;list-style-position: inside;padding-left:0;
}ol{list-style-type: decimal;list-style-position: inside;padding-left:0;
}table{background-color: white;font-size: large;color:black;width: 60%;border-collapse: collapse;margin:auto;
}th,td{border: 1px solid blueviolet;padding: 12px 15px;text-align: center;
}/* 弹窗容器默认隐藏,并覆盖整个页面 */
.modal {display: none; /* 默认隐藏 */position: fixed; /* 固定定位,不随滚动条滚动 */z-index: 1; /* 放置在最上层 */left: 0;top: 0;width: 100%; /* 宽度占满整个屏幕 */height: 100%; /* 高度占满整个屏幕 */overflow: auto; /* 如果内容溢出,允许滚动 */background-color: rgba(0,0,0,0.4); /* 半透明黑色背景 */justify-content: center; /* 水平居中内容(Flexbox) */align-items: center; /* 垂直居中内容(Flexbox) */
}/* 弹窗内容的样式 */
.modal-content {background-color: #fefefe;margin: auto; /* 居中 */padding: 20px;border: 1px solid #888;width: 80%; /* 内容宽度 */max-width: 500px; /* 最大宽度 */box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 6px 20px 0 rgba(0,0,0,0.19);animation-name: animatetop; /* 入场动画 */animation-duration: 0.4s;position: relative; /* 用于定位关闭按钮 */
}/* 关闭按钮样式 */
.close-button {color: #aaa;float: right; /* 浮动到右边 */font-size: 28px;font-weight: bold;position: absolute; /* 绝对定位 */top: 10px;right: 15px;cursor: pointer;
}.close-button:hover,
.close-button:focus {color: black;text-decoration: none;cursor: pointer;
}/* 表单内部元素基本样式 */
.modal-content form {display: flex;flex-direction: column;
}.modal-content label {margin-bottom: 5px;font-weight: bold;
}.modal-content input[type="text"],
.modal-content input[type="email"],
.modal-content textarea {padding: 8px;margin-bottom: 10px;border: 1px solid #ccc;border-radius: 4px;
}.modal-content input[type="submit"] {background-color: #4CAF50;color: white;padding: 10px 15px;border: none;border-radius: 4px;cursor: pointer;font-size: 16px;margin-top: 10px;
}.modal-content input[type="submit"]:hover {background-color: #45a049;
}/* 弹窗入场动画 */
@keyframes animatetop{from {top: -300px; opacity: 0}to {top: 0; opacity: 1}
}

a.js

// 获取相关元素
const openFormBtn = document.getElementById('openFormBtn'); // 打开按钮
const myFormModal = document.getElementById('myFormModal');   // 弹窗容器
const closeButton = document.querySelector('.close-button'); // 关闭按钮// 当点击“打开表单”按钮时,显示弹窗
openFormBtn.onclick = function() {myFormModal.style.display = 'flex'; // 使用flexbox来居中内容
}// 当点击弹窗内的关闭按钮时,隐藏弹窗
closeButton.onclick = function() {myFormModal.style.display = 'none';
}// 当点击弹窗外部区域时,隐藏弹窗
window.onclick = function(event) {if (event.target === myFormModal) {myFormModal.style.display = 'none';}
}


运行结果

 

 

 

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

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

相关文章

Linux系统调优和工具

Linux系统调优和问题定位需要掌握一系列强大的工具&#xff0c;涵盖系统监控、性能分析、故障排查等多个方面。以下是一些核心工具和它们的典型应用场景&#xff0c;分类整理如下&#xff1a; 一、系统资源监控&#xff08;实时概览&#xff09;top / htop 功能&#xff1a; 实…

如何快速有效地在WordPress中添加Instagram动态

在当今社交媒体的时代&#xff0c;通过展示Instagram的最新动态&#xff0c;可以有效吸引读者的目光&#xff0c;同时丰富网站内容。很多人想知道&#xff0c;如何把自己精心运营的Instagram内容无缝嵌入WordPress网站呢&#xff1f;别担心&#xff0c;操作并不复杂&#xff0c…

spring容器加载工具类

在Spring框架中&#xff0c;工具类通常不需要被Spring容器管理&#xff0c;但如果确实需要获取Spring容器中的Bean实例&#xff0c;可以通过静态方法设置和获取ApplicationContext。下面是一个典型的Spring容器加载工具类的实现&#xff1a;这个工具类通过实现ApplicationConte…

定时器更新中断与串口中断

问题&#xff1a;我想把打印姿态传感器的角度&#xff0c;但是重定向的打印函数突然打印不出来。尝试&#xff1a;我怀疑是优先级的问题&#xff0c;故调整了串口&#xff0c;定时器&#xff0c;dma的优先级可是发现调了还是没有用&#xff0c;最终发现&#xff0c;我把定时器中…

用Python向PDF添加文本:精确插入文本到PDF文档

PDF 文档的版式特性使其适用于输出不可变格式的报告与合同。但若要在此类文档中插入或修改文本&#xff0c;常规方式难以实现。借助Python&#xff0c;我们可以高效地向 PDF 添加文本&#xff0c;实现从文档生成到内容管理的自动化流程。 本文将从以下方面介绍Python实现PDF中…

Quick API:赋能能源行业,化解数据痛点

随着全球能源结构的转型和数字化的深入推进&#xff0c;能源行业正面临前所未有的机遇与挑战。海量的实时数据、复杂的业务系统、以及对数据安全和高效利用的迫切需求&#xff0c;都成为了能源企业在数字化转型道路上的核心痛点。本文将深入探讨麦聪Quick API如何凭借其独特优势…

Google Chrome V8< 13.6.86 类型混淆漏洞

【高危】Google Chrome V8< 13.6.86 类型混淆漏洞 漏洞描述 Google Chrome 是美国谷歌&#xff08;Google&#xff09;公司的一款Web浏览器&#xff0c;V8 是 Google 开发的高性能开源 JavaScript 和 WebAssembly 引擎&#xff0c;广泛应用于 Chrome 浏览器和 Node.js 等环…

力扣经典算法篇-23-环形链表(哈希映射法,快慢指针法)

1、题干 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&…

HarmonyOS DevEco Studio 小技巧 42 - 鸿蒙单向数据流

在鸿蒙应用开发中&#xff0c;状态管理是构建响应式界面的核心支柱&#xff0c;而 单向数据流&#xff08;Unidirectional Data Flow, UDF&#xff09;作为鸿蒙架构的重要设计原则&#xff0c;贯穿于组件通信、状态更新和界面渲染的全流程。本文将结合鸿蒙 ArkUI 框架特性&…

【LeetCode 3136. 有效单词】解析

目录LeetCode中国站原文原始题目题目描述示例 1&#xff1a;示例 2&#xff1a;示例 3&#xff1a;提示&#xff1a;讲解化繁为简&#xff1a;如何优雅地“盘”逻辑判断题第一部分&#xff1a;算法思想 —— “清单核对”与“一票否决”第二部分&#xff1a;代码实现 —— 清晰…

前端面试专栏-算法篇:24. 算法时间与空间复杂度分析

&#x1f525; 欢迎来到前端面试通关指南专栏&#xff01;从js精讲到框架到实战&#xff0c;渐进系统化学习&#xff0c;坚持解锁新技能&#xff0c;祝你轻松拿下心仪offer。 前端面试通关指南专栏主页 前端面试专栏规划详情 算法时间与空间复杂度分析&#xff1a;从理论到实践…

bash中||与的区别

在 Bash 中&#xff0c;|| 和 && 是两种常用的逻辑操作符&#xff0c;用于控制命令的执行流程。它们的核心区别如下&#xff1a;1. ||&#xff08;逻辑 OR&#xff09; 作用&#xff1a;如果前一个命令失败&#xff08;返回非零退出码&#xff09;&#xff0c;则执行后…

OpenCV实现感知哈希(Perceptual Hash)算法的类cv::img_hash::PHash

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 PHash是OpenCV中实现感知哈希&#xff08;Perceptual Hash&#xff09;算法的类。该算法用于快速比较图像的视觉相似性。它将图像压缩为一个简短的…

数据库迁移人大金仓数据库

迁移前的准备工作 安装官方的kdts和KStudio工具 方案说明 一、数据库迁移&#xff1a;可以使用kdts进行数据库的按照先迁移表结构、后数据的顺序迁移&#xff08;kdts的使用可以参考官方文档&#xff09; 其他参考文档 人大金仓官网&#xff1a;https://download.kingbase…

uniapp 微信小程序Vue3项目使用内置组件movable-area封装悬浮可拖拽按钮(拖拽结束时自动吸附到最近的屏幕边缘)

一、最终效果 二、具体详情请看movable-area与movable-view官方文档说明 三、参数配置 1、代码示例 <TFab title"新建订单" click"addOrder" /> // title:表按钮文案 // addOrder:点击按钮事件四、组件源码 <template><movable-area cl…

linux kernel为什么要用IS_ERR()宏来判断指针合法性?

在 Linux 内核中&#xff0c;IS_ERR() 宏的设计与内核的错误处理机制和指针编码规范密切相关&#xff0c;主要用于判断一个“可能携带错误码的指针”是否代表异常状态。其核心目的是解决内核中指针返回值与错误码的统一表示问题。以下从技术背景、设计逻辑和实际场景三个维度详…

Cookie与Session:Web开发核心差异详解

理解 Cookie 和 Session 的区别对于 Web 开发至关重要,它们虽然经常一起使用,但扮演着不同的角色。核心区别在于: Cookie:存储在客户端(用户的浏览器)的数据片段。 Session:存储在服务器端的数据结构,用于跟踪特定用户的状态。 下面是详细的对比: 特性CookieSession…

【相干、相参】 雷电名词溯源

〇、废话因缘 最近某些国产的微波制造公司总是提到一个概念【相干】【相参】【严格相参】等等概念层出不穷&#xff0c;让人苦恼。 一、这玩意还是英文溯源吧 这几个概念都聚焦在一个单词【Coherence】&#xff1b;所以就是说两个波形之间有某种联系&#xff0c;不一定就是完全…

MYSQL练习2

一、对mydb11_stu库进行查询步骤1.创建mydb11_stu库并使用2.创建score表和student表3.向两张表插入数据student表&#xff1a;score表&#xff1a;4.完成查询&#xff08;1&#xff09;分别查询student表和score表的所有记录&#xff08;2&#xff09;查询student表的第2小到5条…

Spring Boot全局异常处理:打造坚如磐石的应用防线

引言在当今的软件开发领域&#xff0c;随着业务的日益复杂和系统规模的不断扩大&#xff0c;Spring Boot 已成为 Java 开发中备受青睐的框架。它以其强大的功能、便捷的配置和快速的开发体验&#xff0c;帮助开发者们高效地构建各种应用程序。在 Spring Boot 应用的开发过程中&…