【H2O2|全栈】关于HTML(5)HTML基础(四)

2024-09-08 10:52
文章标签 基础 html frontend 全栈 h2o2

本文主要是介绍【H2O2|全栈】关于HTML(5)HTML基础(四),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HTML基础知识

目录

HTML基础知识

前言

准备工作

标签的具体分类(四)

本文中的标签在什么位置中使用?

表单(一)

表单标签

输入域标签

预告和回顾

后话


前言

本系列博客将分享HTML相关知识点。

这一期博客,我们来讲解表单相关的标签。

注意,本期表单中的大部分属性仅限于HTML4,如果想要了解更多关于HTML5中常用的表单功能,可以期待未来的HTML进阶篇的博客。

不是专业的科普博主,主打一个分享知识,写的不好,多多包涵(嘻嘻)。

准备工作

软件:参考版本Visual Studio Code,有道云笔记

*关于有道云笔记的使用可以看我专栏的Markdown文档有关文章* 

浏览器版本:Chrome

系统版本: Win10/11/其他非Windows版本

*我的电脑是Win10的版本,仅供参考*

标签的具体分类(四)

本文中的标签在什么位置中使用?

本文中我们需要掌握的,是写在主体标签(body)中的各种标签。

表单(一)

在日常生活中,我们经常会遇到一些在线信息的填写的场景,比如网站注册时的完善个人信息。这里面就会涉及到表单的使用。

表单标签

表单的格式和表格类似,最外层的标签为<form></form>,直译为表单。

表单中常见的属性有:

属性名作用
action设置表单提交位置的URL
method设置表单提交的方式

action中填写表单提交到的位置,在表单提交后,将会跳转至该位置。

method的值有三种,常见的是get和post。使用get方式提交时,提交的内容会直接显示在网页URL后,因此是不安全的。而post方式提交的表单会经过加密处理,所以,就安全性而言最好使用post方式提交表单。

比如,向百度网页提交一个示例表单,使用get方式,代码如下:

<form action="https://www.baidu.com" method="get">密码:<input type="password" name="pwd" placeholder="请输入密码"><input type="submit"></form>

这个表单的功能是提交一个密码。密码框的内容按道理是需要保密的,在我们看来是这个效果:

然而当我们点击提交,自动跳转到百度首页后,在浏览器URL里可以发现有表单的内容:

而当我们使用post方式时,同样的位置将会显示:

这说明我们的信息被加密了,已经不能通过URL直接找到了。

输入域标签

表单中的标签input,用于定义表单与用户间的交互控件,如输入框,单选,复选框,下拉列表,按钮等等。

input标签是一个单标签,不能包裹其他的内容,但是可以把内容写在它的附近作为提示词。它也是一个行内标签,不自带换行功能。

input标签的常见的属性有:

属性名值含义
type定义input元素类型
name定义元素名称
src特定type类型使用,URL
alt特定type类型使用,加载失败显示文字
width特定type类型使用,宽
height特定type类型使用,高
size规定字符数量,以此设定input区域宽度
maxlength允许最大字符数
placeholder【HTML5新增】特定type类型使用,浅色提示文本
disabled禁用,可不填属性
readonly特定type类型使用,只读,可不填属性
checked特定type类型使用,默认选中,可不填属性

对于type属性,不同的值可以改变输入域的类型:

属性值   输入域类型
text(默认)定义单行文本(默认宽度20字符)
password定义密码按钮(字段中的字符会被覆盖)
radio定义单选按钮
checkbox定义复选框
button定义可点击的按钮
value指定input元素的值
submit定义提交按钮 默认value为 提交 默认有提交功能
reset定义重置按钮 默认value为重置
file定义文件选择字段和“选择...”,上传文件
image定义图像为提交按钮 默认有提交功能
hidden定义隐藏输入字段
案例

可以看到,input标签相关的内容非常多,一时半会儿不好记。

所以,不妨就制作一个简单的个人信息清单,以此来辅助理解记忆吧。

*此案例不调整CSS样式* 

在开始之前,预设表单action为百度首页,表单提交method为post。

首先是设置昵称,用到的type属性是text。使用如下代码:

<form action="https://www.baidu.com" method="post">用户昵称:<input type="text" name="user" placeholder="输入昵称"></form>

在浏览器中效果如下:

name属性的值相当于表单提交元素在文件中的名称,在表单中代表当前元素,和键值对中的键概念有些相似。

placeholder是显示在输入域中的浅色文本,在输入内容后自动消失

设置完昵称之后,就可以设置头像。涉及到图片文件的上传,即file的使用。添加如下代码(不要忘记换行):

设置头像:<input type="file" name="avatar">

在浏览器中,就可以看到如下的效果:

点击选择文件,就可以在资源管理器中选择文件进行上传了:

对于用户来说,用户ID往往是唯一且不可变更的,就比如CSDN的ID,一旦确定就是不可更改的。

所以,这里要在text的基础上,加上disabled属性,表明当前输入域不可更改。添加的代码如下:  

用户ID:<input type="text" name="uid" value="123456" readonly>

其中,value是预设定的值,如果不设置该属性,value值将取用输入域中输入的值。当然,即使设置了该属性的值,也可以修改这个值(相当于预输入可更改文本) 。效果如下:

光标不能选中修改ID框中的内容。

接下来是设置(输入)密码,由于密码应当是保密的,所以密码框password在样式上使用小黑点代替输入的内容。添加的代码如下:

设置密码:<input type="password" name="pwd" placeholder="输入密码">

显示的效果如下:

接下来是设置用户的性别,假设性别只能选择一种吧,就会用到radio。设置四个选项用于性别的设置,代码如下:

选择性别:<input type="radio" name="sex">♂ <input type="radio" name="sex">♀ <input type="radio" name="sex">其他 <input type="radio" name="sex" checked>保密

在网页中显示的效果如下:

注意,保密这个选项设置了checked属性,可以让这个选项被默认选择上。 

接下来是设置感兴趣的内容,通常来说,用户的爱好可以是单一的,也可以是多样的,于是就涉及到checkbox的使用。添加以下代码:

选择感兴趣的标签:<input type="checkbox" name="hoppy">PS<input type="checkbox" name="hoppy">Markdown<input type="checkbox" name="hoppy">SVN<input type="checkbox" name="hoppy">HTML

在网页中显示的效果如下:

在完成个人信息的填写之后,如果填写有误,则涉及到reset的使用,即重置。添加以下代码:

<input type="reset" name="reset" value="重置">

如果不用重置,则直接选择提交(submit) 。添加以下代码:

<input type="submit" name="submit" value="提交">

上面这两个属性,都是按钮的效果。 现在,我们暂时不能给普通按钮button设置鼠标单击(onlick)行为,但是也可以先加一个普通按钮在这:

<input type="button" name="btn" value="关注">

 以上三个按钮放到一起,运行的效果如下:

当然,如果不喜欢这种按钮的默认样式,除了可以使用CSS以外,还可以有另一种思路——将图片设置为按钮,默认为提交按钮。 

比如,添加下面这段代码,涉及到图片按钮的src,alt(可为空),width和height,就把我的头像做成一个按钮吧——

<input type="image" src="https://profile-avatar.csdnimg.cn/4b2a87ef8c5d4789a6b8fb88457350a2_zc13786305863.jpg!1" alt="H2O2的头" width="100px" height="100px">

在网页中显示的效果如下:

最后剩下的size属性,maxlength属性就不展示效果了。

前者可以设置输入域的宽度,设置的是数量,比如设置20就是20个字符的宽度;后者可以设置输入的最大字符数量,比如可以设置密码最长不能超过8位。

还有一个hidden(隐藏),我会放到JS的相关内容中去讲,包括readonly,disabled等,其实都是可以利用JS设置成在某种情况下给出该属性。

有关输入域的内容暂时就讲这些,其他的HTML5中新增的内容在进阶篇里面会讲。

个人信息清单的表单全代码在这里,有需要的可以自行复制:

<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 /><input type="reset" name="reset" value="重置">&emsp13;<input type="submit" name="submit" value="提交">&emsp13;<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>

预告和回顾

在我的HTML第六期博客中,将会继续介绍HTML的基本标签,依然是表单的概念,并会加上实际的案例。算是对本期博客的第二个小节。

对HTML感兴趣的朋友,也可以看看我的主页专栏:

专栏 | HTMLicon-default.png?t=O83Ahttp://t.csdnimg.cn/7cw2C

后话

在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。

文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。

==期待与你在下一期博客中再次相遇==

【H2O2】

这篇关于【H2O2|全栈】关于HTML(5)HTML基础(四)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1147911

相关文章

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

前端CSS Grid 布局示例详解

《前端CSSGrid布局示例详解》CSSGrid是一种二维布局系统,可以同时控制行和列,相比Flex(一维布局),更适合用在整体页面布局或复杂模块结构中,:本文主要介绍前端CSSGri... 目录css Grid 布局详解(通俗易懂版)一、概述二、基础概念三、创建 Grid 容器四、定义网格行和列五、设置行

前端下载文件时如何后端返回的文件流一些常见方法

《前端下载文件时如何后端返回的文件流一些常见方法》:本文主要介绍前端下载文件时如何后端返回的文件流一些常见方法,包括使用Blob和URL.createObjectURL创建下载链接,以及处理带有C... 目录1. 使用 Blob 和 URL.createObjectURL 创建下载链接例子:使用 Blob

Vuex Actions多参数传递的解决方案

《VuexActions多参数传递的解决方案》在Vuex中,actions的设计默认只支持单个参数传递,这有时会限制我们的使用场景,下面我将详细介绍几种处理多参数传递的解决方案,从基础到高级,... 目录一、对象封装法(推荐)二、参数解构法三、柯里化函数法四、Payload 工厂函数五、TypeScript

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

Python基础语法中defaultdict的使用小结

《Python基础语法中defaultdict的使用小结》Python的defaultdict是collections模块中提供的一种特殊的字典类型,它与普通的字典(dict)有着相似的功能,本文主要... 目录示例1示例2python的defaultdict是collections模块中提供的一种特殊的字

Vue3使用router,params传参为空问题

《Vue3使用router,params传参为空问题》:本文主要介绍Vue3使用router,params传参为空问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录vue3使用China编程router,params传参为空1.使用query方式传参2.使用 Histo

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex