【H2O2|全栈】关于HTML(6)HTML基础(五 · 完结篇)
HTML基础知识
目录
HTML基础知识
前言
准备工作
标签的具体分类(五)
本文中的标签在什么位置中使用?
表单(二)
下拉选择菜单
文本域
案例
拓展标签
iframe框架
案例
预告和回顾
后话
前言
本系列博客介绍了HTML入门阶段的知识,本期为该系列入门阶段的完结篇。
这一期博客我们继续来讲表单,最后再讲一下iframe框架。
注意,本期表单中的大部分属性仅限于HTML4,如果想要了解更多关于HTML5中常用的表单功能,可以期待未来的HTML进阶篇的博客。
不是专业的科普博主,主打一个分享知识,写的不好,多多包涵(嘻嘻)。
准备工作
软件:【参考版本】Visual Studio Code,有道云笔记
*关于有道云笔记的使用可以看我专栏的Markdown文档有关文章*
浏览器版本:Chrome
系统版本: Win10/11/其他非Windows版本
*我的电脑是Win10的版本,仅供参考*
标签的具体分类(五)
本文中的标签在什么位置中使用?
本文中我们需要掌握的,是写在主体标签(body)中的各种标签。
表单(二)
我们在个人信息清单里,可能还会遇到选择地址到省市区(县)以及填写具体地址的情况,这个时候就需要用到下拉菜单和文本域标签。
下拉选择菜单
下拉选择菜单的标签名是select,直译为选择。分类为双标签,行内标签。
它的常见属性有这些:
属性名 | 作用 |
---|---|
name | 定义下拉菜单名称 |
disabled | 禁用 |
size | 定义下拉列表未下拉时可见选项数目 |
select标签的下一级标签是option标签,直译为选项。
它的常见属性为:
属性名 | 作用 |
---|---|
value | 指定选项的值 |
disabled | 禁用 |
selected | 默认选中 |
可以用optgroup为某一部分选项进行分组。
它的常见属性为:
属性名 | 作用 |
---|---|
label | 绑定元素名称 |
文本域
文本域标签的标签名为textarea,直译为文本 区域。分类为双标签,行内标签。
它的常见属性为:
属性名 | 作用 |
---|---|
name | 定义文本域的名称 |
cols | 规定文本域内可见的宽度(列数),默认值为20 |
rows | 规定文本域内可见的高度(行数),默认值为2 |
placeholder | 提示信息 |
disabled | 禁用 |
案例
还是接着做上期的个人信息清单,先添加一个选择常驻地址的功能。
注意,分层的显示标签暂时做不到,我们使用optgroup简易实现从省分类到市的效果。
添加以下代码:
<select name="address" size="1"><option selected disabled>请选择城市</option><optgroup label="江苏"><option value="city">南京</option><option value="city">苏州</option><option value="city">无锡</option><option value="city">常州</option></optgroup><optgroup label="直辖市"><option value="city">北京</option><option value="city">上海</option><option value="city">重庆</option><option value="city">天津</option></optgroup></select>
那么就可以实现以下效果:
点击菜单下拉效果如下:
可以看到,我设置的selected的选项是默认选中显示在菜单中的,但是我加入了disabled让“请选择城市”的选项不可选。
每个组名下面的选项都是可选的。
然后做一个填写个人简介的地方,加入以下代码:
个人简介:<br /><textarea name="introduce" cols="30" rows="10" placeholder="请填写"></textarea>
在网页中显示的效果如下:
注意,如果使用VS code快速生成的文本域,其实大小是30*10,但是我们平常要记住20*2的默认尺寸。
placeholder放在文本域中作为提示文本,在输入内容后自动消失。
到此,个人信息清单的完整代码如下:
<form action="https://www.baidu.com" method="post">用户昵称:<input type="text" placeholder="输入昵称"><br /><br />设置头像:<input type="file" name="avatar"><br /><br />用户ID:<input type="text" name="uid" value="123456" disabled><br /><br />设置密码:<input type="password" name="pwd" placeholder="输入密码"><br /><br />选择性别:<input type="radio" name="sex">♂ <input type="radio" name="sex">♀ <input type="radio" name="sex">其他 <input type="radio" name="sex" checked>保密<br /><br />选择感兴趣的标签:<input type="checkbox" name="hoppy">PS<input type="checkbox" name="hoppy">Markdown<input type="checkbox" name="hoppy">SVN<input type="checkbox" name="hoppy">HTML<br /><br /><select name="address" size="1"><option selected disabled>请选择城市</option><optgroup label="江苏"><option value="nj">南京</option><option value="sz">苏州</option><option value="wx">无锡</option><option value="cz">常州</option></optgroup><optgroup label="直辖市"><option value="bj">北京</option><option value="sh">上海</option><option value="cq">重庆</option><option value="tj">天津</option></optgroup></select><br /><br />个人简介:<br /><textarea name="introduce" cols="30" rows="10" placeholder="请填写"></textarea><br /><br /><input type="reset" name="reset" value="重置"> <input type="submit" name="submit" value="提交"> <input type="button" name="btn" value="关注"><br /><br /><input type="image" src="https://profile-avatar.csdnimg.cn/4b2a87ef8c5d4789a6b8fb88457350a2_zc13786305863.jpg!1" alt="H2O2的头" width="100px" height="100px"></form>
网页显示效果如下:
拓展标签
label不单可以作为optgroup的一个属性,还能作为一个单独的标签使用。
它可以定义某一个input元素的标签,一般为输入标题。
它有下面这个属性:
属性名 | 作用 |
---|---|
for | 绑定表单元素 |
比如,可以用label标签包围一个单选内容,比如选择性别这一栏:
<form action="" method="post"><label><input type="radio" name="sex" value="man">男</label><label><input type="radio" name="sex" value="woman">女</label></form>
效果是可以把文字内容和input标签结合成一体, 现在,点击label中的文字信息也可以做到和点击单选框一样的选中效果:
还有一种写法是利用for属性和input的id属性进行绑定,可以将文字内容绑定到input标签上:
<form action="" method="post"><input type="radio" name="sex" id="male" value="man"><label for="male">男</label><input type="radio" name="sex" id="female" value="woman"><label for="female">女</label></form>
效果和上面是一样的。
还有一个标签叫fieldset,用于包裹一个区域,用于给当前区域分类。
它的子标签legend可以设置该分类框的描述,会显示在分类框的左上角。
比如对性别选择区域应用fieldset:
<form action="" method="post"></form><fieldset name="sex_option"><legend>性别选择</legend><input type="radio" name="sex" id="male" value="man"><label for="male">男</label><input type="radio" name="sex" id="female" value="woman"><label for="female">女</label></fieldset></form>
效果显示如下:
这个标签现在已经不常用了,仅供了解。
iframe框架
iframe框架用于在网页中嵌入其他网页,即窗口内联子窗口。
使用的标签是iframe,分类为双标签,块标签。
iframe常见的属性如下:
属性名 | 作用 |
---|---|
src | 规定在 iframe 中显示文档的URL |
frameborder | 规定是否显示边框 |
width | 定义 宽度 |
height | 定义 高度 |
name | 规定 iframe 名称 |
还记得src的特点吗,它随网页的加载而加载,而href是在访问时才加载的,注意区分。
frameborder的数值是0和非0值,分别代表不显示和显示,规范的数值是0和1。
案例
在了解了iframe框架之后,就可以实现类似软件的页中页的效果,或者说页面内导航栏的效果。
首先,回忆一下a标签中的一个属性target,它可以定义链接打开的位置。这里可以设置为iframe的名称。
输入以下代码来实现一个极简版的百科网页:
*本案例暂时不涉及CSS*
<h1>热搜词条百科</h1><table><tr><th> 词条 |</th><td><a href="https://baike.baidu.com/item/%E9%BB%91%E7%A5%9E%E8%AF%9D%EF%BC%9A%E6%82%9F%E7%A9%BA/53303078" target="screen">黑神话悟空</a> | </td><td><a href="https://baike.baidu.com/item/%E5%87%BA%E5%B8%88%E8%A1%A8/82086" target="screen">《出师表》原文</a> | </td><td><a href="https://baike.baidu.com/item/%E4%B8%AD%E5%9B%BD%E8%B6%B3%E7%90%83/75001?fromModule=lemma_search-box" target="screen">中国足球</a> | </td><td><a href="https://baike.baidu.com/item/CSDN?fromModule=lemma_search-box" target="screen">CSDN</a></td></tr></table><iframe name="screen" src="./form.html" frameborder="1" width="960px" height="600px"></iframe>
src中是默认显示的内容的地址,本来我想设置成百度的首页的,但是百度设置了拒绝使用该方式访问。所以就把之前的表单网页作为首页了,可以换成别的。
在网页中打开,显示效果如下;
点击词条中的内容,可以在iframe页面里显示相应的界面:
关于iframe的基础内容大概了解到这里就差不多了,更加复杂的效果可以等学到后面的CSS再实现即可。
预告和回顾
恭喜诸位,HTML的基础阶段的知识到这里就可以告一段落了(完结撒花)。接下来,将是Web页面中表现层(CSS)的学习博客。
对HTML基础知识感兴趣的朋友,也可以看看我的主页专栏:
专栏 | HTML入门http://t.csdnimg.cn/7cw2C
后话
在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。
文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。
==期待与你在下一期博客中再次相遇==
【H2O2】
相关文章:

【H2O2|全栈】关于HTML(6)HTML基础(五 · 完结篇)
HTML基础知识 目录 HTML基础知识 前言 准备工作 标签的具体分类(五) 本文中的标签在什么位置中使用? 表单(二) 下拉选择菜单 文本域 案例 拓展标签 iframe框架 案例 预告和回顾 后话 前言 本系列博客介…...

2024第三届大学生算法大赛 真题训练一 解题报告 | 珂学家
前言 题解 这是第三届大学生算法大赛(第二届为清华社杯)的赛前练习赛一. 这是上界比赛的体验报告: 2023第二届“清华社杯”大学生算法大赛 解题报告(流水账版) | 珂学家,个人还是非常推荐这个比赛。 难度分布:4 easy/4 mid-hard/2 hard 赛前练习赛一…...
IIS网站允许3D模型类型的文件
参与threejs项目的研发,本地开发完成后,发布后使用时发现模型文件不能正常获取资源,原因是IIS站点默认不支持模型类型。 一开始是通过直接在IIS网站管理中的类型添加来实现网站对类型的支持。 后来发现一段对于后端来说可以直接实现代码上添加…...

Linux 性能调优之CPU上下文切换
写在前面 博文内容为 Linux 性能指标 CPU 上下文切换认知内容涉及: 上下文认知,发生上下文切换的场景有哪些上下文指标信息查看,内核上下文切换事件跟踪,系统上下文切换统计上下文异常场景分析,CPU亲和性配置优化上下文…...

【无标题】符文价值的退化页
我们利用现有的符文体系建立了一个健全的符文扩展空间,可假若符文让我们感到十分困惑,我们不介意毁灭它们,让一切回到没有字迹的蛮荒纪。 如此,眼睛也失去了作用。我们的成GUO也会给后来者提供又是一DUI 令人眼花缭乱的无用符咒。…...

DFS 算法:洛谷B3625迷宫寻路
我的个人主页 {\large \mathsf{{\color{Red} 我的个人主页} } } 我的个人主页 往 {\color{Red} {\Huge 往} } 往 期 {\color{Green} {\Huge 期} } 期 文 {\color{Blue} {\Huge 文} } 文 章 {\color{Orange} {\Huge 章}} 章 DFS 算法:记忆化搜索DFS 算法…...

结构开发笔记(七):solidworks软件(六):装配摄像头、摄像头座以及螺丝,完成摄像头结构示意图
若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141931518 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…...
Android 15 新特性快速解读指南
核心要点 16K 页面大小支持目前作为开发人员选项提供,并非强制要求。 引入多项提升开发体验、多语言支持、多媒体功能、交互体验和隐私安全的更新。 重点关注前台服务限制、Window Insets 行为变化、AndroidManifest 文件限制等适配要求。 开发体验 ApplicationS…...
【机器人工具箱Robotics Toolbox开发笔记(十九)】机器人工具箱Link类函数参数说明
机器人工具箱中的Link对象保存于机器人连杆相关的所有信息,如运动学参数、刚体惯性参数、电机和传动参数等。 与Link对象有关参数如表1所示。 表1 Link对象参数 参 数 意 义 参 数 意 义 A 连杆变换矩阵 islimit 测试关节是否超过软限制 RP RP关节类型 isrevo…...

排查SQL Server中的内存不足及其他疑难问题
文章目录 引言I DMV 资源信号灯资源信号灯 DMV sys.dm_exec_query_resource_semaphores( 确定查询执行内存的等待)查询性能计数器什么是内存授予?II DBCC MEMORYSTATUS 查询内存对象III DBCC 命令释放多个 SQL Server 内存缓存 - 临时度量值IV 等待资源池 %ls (%ld)中的内存…...
输送线相机拍照信号触发(博途PLC高速计数器中断立即输出应用)
博途PLC相关中断应用请参考下面文章链接: T法测速功能块 T法测速功能块(博途PLC上升沿中断应用)-CSDN博客文章浏览阅读165次。本文介绍了博途PLC中T法测速的原理和应用,包括如何开启上升沿中断、配置中断以及T法测速功能块的使用。重点讲述了在中断事件发生后执行的功能块处…...
【数学分析笔记】第3章第1节 函数极限(6)
3. 函数极限与连续函数 3.1 函数极限 【例3.1.12】 f ( x ) a n x n a n − 1 x n − 1 ⋯ a k x k b m x m b m − 1 x m − 1 ⋯ b j x j , b m , b j ≠ 0 , a n , a k ≠ 0 f(x) \frac{a_{n} x^{n}a_{n-1} x^{n-1}\cdotsa_{k} x^{k}}{b_{m} x^{m}b_{m-1} x^{m-1}\…...

程序员如何写笔记?
word。没错,我也看了网上一大堆软件,还有git管理等等。个人认为如果笔记只是记录个人的经验积累,一个word就够了,那些notepad,laTex个人觉得不够简练。word。 1.word可以插入任何文件附件(目前最大的word 200MB也没出现…...

Linux网络——Socket编程函数
一.网络命令 1.ping ping命令用来检测网络是否连通,具体用法为: ping 任意网址 结果如下: 当出现上述字段时,证明网络是连通的,这里值得注意的是,ping命令执行之后会不断进行网络检测,不会停…...

HarmonyOS 是如何实现一次开发多端部署 -- HarmonyOS自学1
一次开发多端部署遇到的几个关键问题 为了实现“一多”的目标,需要解决如下三个基础问题: 问题1:页面如何适配 不同设备间的屏幕尺寸、色彩风格等存在差异,页面如何适配。 问题2:功能如何兼容 不同设备的系统能力…...

嵌入式硬件-ARM处理器架构,CPU,SOC片上系统处理器
多进程空间内部分布图:注意:创建线程实际使用堆区空间,栈区独立 ARM处理器架构: 基于ARM920T架构的CPU:以下为哈佛结构 ALU:算数运算器 R0~R12:寄存器 PC:程序计数器,默认为0,做自加运算&#x…...

《JavaEE进阶》----12.<SpringIOCDI【扫描路径+DI详解+经典面试题+总结】>
本篇博客主要讲解 扫描路径 DI详解:三种注入方式及优缺点 经典面试题 总结 五、环境扫描路径 虽然我们没有告诉Spring扫描路径是什么,但是有一些注解已经告诉Spring扫描路径是什么了 如启动类注解SpringBootApplication。 里面有一个注解是componentS…...
Selenium 自动化测试:常用函数与实例代码
引言 Selenium 是一个强大的自动化测试工具,广泛用于网页应用的自动化测试。它支持多种编程语言,包括 Python。本文将介绍 Selenium 的常用函数,并提供参数解释和代码示例。 Selenium 简介 Selenium 是一个用于自动化 Web 应用测试的工具&…...
python网络爬虫(五)——爬取天气预报
1.注册高德天气key 点击高德天气,然后按照开发者文档完成key注册;作为爬虫练习项目之一。从高德地图json数据接口获取天气,可以获取某省的所有城市天气,高德地图的这个接口还能获取县城的天气。其天气查询API服务地址为https://re…...

四.海量数据实时分析-Doris数据导入导出
数据导入 1.概述 Apache Doris 提供多种数据导入方案,可以针对不同的数据源进行选择不同的数据导入方式。 数据源导入方式对象存储(s3),HDFS使用 Broker 导入数据本地文件Stream Load, MySQL LoadKafka订阅 Kafka 数据Mysql、PostgreSQL&a…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

k8s业务程序联调工具-KtConnect
概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...