HTML CSS

目录

1. 什么是HTML

2. 什么是CSS ?

3. 基础标签 & 样式

3.1 新浪新闻-标题实现

3.1.1 标题排版

3.1.1.1 分析

3.1.1.2 标签

3.1.1.3 实现

3.1.2 标题样式

3.1.2.1 CSS引入方式

3.1.2.2 颜色表示

3.1.2.3 标题字体颜色

3.1.2.4 CSS选择器

3.1.2.5 发布时间字体颜色

3.1.3 超链接

3.1.3.1 介绍

3.1.3.2 实现

3.2 新浪新闻-正文实现

3.2.1 正文排版

3.2.1.1 分析

3.2.1.2 标签

3.2.1.3 实现

3.2.2 页面布局

3.2.2.1 盒子模型

3.2.2.2 布局标签

3.2.2.3 盒子模型代码

3.2.2.3 布局实现

4. 表格标签

5 表单标签

5.1 表单

5.1.1 介绍

5.1.2 演示

5.1.3 注意事项

5.2 表单项

5.2.1 介绍

5.2.2 演示

6. 文档查阅


1. 什么是HTML

HTML: HyperText Markup Language,超文本标记语言。

  • 超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等内容。

  • 标记语言:由标签构成的语言

    • HTML标签都是预定义好的。例如:使用 <h1> 标签展示标题,使用<a>展示超链接,使用<img>展示图片,<video>展示视频。

    • HTML代码直接在浏览器中运行,HTML标签由浏览器解析。

下面展示的是一段html代码经过浏览器解析,呈现的效果如右图所示:

2. 什么是CSS ?

CSS: Cascading Style Sheet,层叠样式表,用于控制页面的样式(表现)。

下面展示的是一段 html代码 及 CSS样式 经过浏览器解析,呈现的效果如右图所示:

3. 基础标签 & 样式

那我们在讲解HTML的常见基础标签 及 CSS的基本样式时,我们就以 新浪新闻页面 为例,来进行讲解,这样大家不仅能够知道 常见标签及样式的作用,还能够知道具体的应用场景。

新浪新闻的具体页面效果如下:

原始页面网址:https://news.sina.com.cn/gov/xlxw/2023-03-03/doc-imyipzuy7321600.shtml

而对于这个新浪新闻的页面来说,核心内容分为两个部分,如下:

  • 新浪新闻-标题部分

  • 新浪新闻-正文部分

3.1 新浪新闻-标题实现

3.1.1 标题排版
3.1.1.1 分析

1). 第一部分,是一张图片,需要用到HTML中的图片标签 <img> 来实现。

2). 第二部分,是一个标题,需要用到HTML中的标题标签 <h1> ... <h6>来实现。

3). 第三部分,有两条水平分割线,需要用到HTML中的 <hr> 标签来定义水平分割线。

3.1.1.2 标签

1). 图片标签 img

A. 图片标签: <img>
​
B. 常见属性: src: 指定图像的url (可以指定 绝对路径 , 也可以指定 相对路径)width: 图像的宽度 (像素 / 百分比 , 相对于父元素的百分比)height: 图像的高度 (像素 / 百分比 , 相对于父元素的百分比)备注: 一般width 和 height 我们只会指定一个,另外一个会自动的等比例缩放。C. 路径书写方式:绝对路径:1. 绝对磁盘路径: C:\Users\Administrator\Desktop\HTML\img\news_logo.png<img src="C:\Users\Administrator\Desktop\HTML\img\news_logo.png">
​2. 绝对网络路径: https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png<img src="https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png">相对路径:./ : 当前目录 , ./ 可以省略的../: 上一级目录

2). 标题标签 h 系列

A. 标题标签: <h1> - <h6><h1>111111111111</h1><h2>111111111111</h2><h3>111111111111</h3><h4>111111111111</h4><h5>111111111111</h5><h6>111111111111</h6>B. 效果 : h1为一级标题,字体也是最大的 ; h6为六级标题,字体是最小的。

3). 水平分页线标签 <hr>

3.1.1.3 实现

1). 打开VsCode,选择左侧最底部的 "资源管理器",然后选择打开文件夹,选择打开桌面的 HTML 文件夹

2). 将资料中提供的 图片、音频、视频 文件夹的这三个文件夹(里面是图片、音视频素材),复制到 HTML 文件夹中。

3). 在VsCode中创建一个新的 html 文件,文件的后缀名设置为 .html

4). html 文件创建好之后,在其中输入 !,然后直接回车,就可以生成 HTML 的基础结构标签

5). 编写标题排版的核心代码

<!-- 文档类型为HTML -->
<!DOCTYPE html>
<html lang="en">
<head><!-- 字符集为UTF-8 --><meta charset="UTF-8"><!-- 设置浏览器兼容性 --><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>焦点访谈:中国底气 新思想夯实大国粮仓</title>
</head>
<body><!-- img标签: src: 图片资源路径width: 宽度(px, 像素 ; % , 相对于父元素的百分比)height: 高度(px, 像素 ; % , 相对于父元素的百分比)<img src="img/news_logo.png" width="80%" >
​路径书写方式:绝对路径:1. 绝对磁盘路径: C:\Users\Administrator\Desktop\HTML\img\news_logo.png<img src="C:\Users\Administrator\Desktop\HTML\img\news_logo.png">
​2. 绝对网络路径: https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png<img src="https://i2.sinaimg.cn/dy/deco/2012/0613/yocc20120613img01/news_logo.png">相对路径:./ : 当前目录 , ./ 可以省略的../: 上一级目录--><img src="img/news_logo.png"> 新浪政务 > 正文
​<h1>焦点访谈:中国底气 新思想夯实大国粮仓</h1><hr>2023年03月02日 21:50 央视网<hr>
​
</body>
</html>

3.1.2 标题样式

新浪新闻的标题部分的基本排版,我们已经完成了,然后大家会看到,我们编写的一级标题,默认字体颜色为纯黑色。 而原始的新浪新闻页面的新闻标题字体,并不是纯黑色,而是灰黑色, 那接下来,我们就要来设置这个字体的颜色。 而要设置这个字体的颜色,我们就需要通过CSS样式来控制 。

那在HTML的文件中,我们如何来编写CSS样式呢,此时就涉及到CSS的三种引入方式。

3.1.2.1 CSS引入方式

具体有3种引入方式,语法如下表格所示:

名称语法描述示例
行内样式在标签内使用style属性,属性值是css属性键值对<h1 style="xxx:xxx;">中国新闻网</h1>
内嵌样式定义<style>标签,在标签内部定义css样式<style> h1 {...} </style>
外联样式定义<link>标签,通过href属性引入外部css文件<link rel="stylesheet" href="css/news.css">

对于上述3种引入方式,企业开发的使用情况如下:

  1. 内联样式会出现大量的代码冗余,不方便后期的维护,所以不常用。

  2. 内部样式,通过定义css选择器,让样式作用于当前页面的指定的标签上。

  3. 外部样式,html和css实现了完全的分离,企业开发常用方式。

3.1.2.2 颜色表示

在前端程序开发中,颜色的表示方式常见的有如下三种:

表示方式表示含义取值
关键字预定义的颜色名red、green、blue...
rgb表示法红绿蓝三原色,每项取值范围:0-255rgb(0,0,0)、rgb(255,255,255)、rgb(255,0,0)
十六进制表示法#开头,将数字转换成十六进制表示#000000、#ff0000、#cccccc,简写:#000、#ccc

3.1.2.3 标题字体颜色
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>焦X访谈:XXXX</title><!-- 方式二: 内嵌样式 --><style>h1 {/* color: red; *//* color: rgb(0, 0, 255); */color: #4D4F53;}</style>
​<!-- 方式三: 外联样式 --><!-- <link rel="stylesheet" href="css/news.css"> -->
</head>
<body><img src="img/news_logo.png"> XXXX > 正文
​<!-- 方式一: 行内样式 --><!-- <h1 style="color: red;">焦X访谈:XXX</h1> --><h1>焦X访谈:XXXX</h1>
​<hr>2023年03月02日 21:50 XXX<hr>
​
</body>
</html>

备注: 要想拾取某一个网页中的颜色,我们可以借助于浏览器的拾色器插件来完成。【拾色器插件的安装,参照资料中提供的文档即可】

3.1.2.4 CSS选择器

顾名思义:选择器是选取需设置样式的元素(标签),但是我们根据业务场景不同,选择的标签的需求也是多种多样的,所以选择器有很多种,因为我们是做后台开发的,所以对于css选择器,我们只学习最基本的3种。

选择器通用语法如下

选择器名   {css样式名:css样式值;css样式名:css样式值;
}

我们需要学习的3种选择器是元素选择器,id选择器,class选择器,语法以及作用如下:

1.元素(标签)选择器:

  • 选择器的名字必须是标签的名字

  • 作用:选择器中的样式会作用于所有同名的标签上

元素名称 {css样式名:css样式值;
}

例子如下:

 div{color: red;}

2.id选择器:

  • 选择器的名字前面需要加上#

  • 作用:选择器中的样式会作用于指定id的标签上,而且有且只有一个标签(由于id是唯一的)

#id属性值 {css样式名:css样式值;
}

例子如下:

#did {color: blue;
}

3.类选择器:

  • 选择器的名字前面需要加上 .

  • 作用:选择器中的样式会作用于所有class的属性值和该名字一样的标签上,可以是多个

.class属性值 {css样式名:css样式值;
}

例子如下:

.cls{color: green;}

优先级:

id选择器(#)>类选择器(.)>标签选择器( )

3.1.2.5 发布时间字体颜色
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>焦X访谈:XXXX</title><style>h1 {color: #4D4F53;}/* 元素选择器 *//* span {color: red;} *//* 类选择器 *//* .cls {color: green;} *//* ID选择器 */#time {color: #968D92;font-size: 13px; /* 设置字体大小 */}</style>
</head>
<body><img src="img/news_logo.png"> XXXX > 正文<h1>焦X访谈:XXXX</h1><hr><span class="cls" id="time">2023年03月02日 21:50</span>  <span class="cls">央视网</span><hr></body>
</html>

上述我们还使用了一个css的属性 font-size , 用来设置字体的大小。 但是需要注意,在设置字体的大小时,单位px不能省略,否则不生效。

3.1.3 超链接
  • 在新浪新闻的标题部分,当我们点击顶部的 "XXXX",浏览器将自动在当前窗口访问XXXX首页这个资源(http://gov.sina.com.cn/)

  • 当我们点击新闻发布时间之后的 "央视网",浏览器将会自动打开一个新的标签页,然后在新的标签页中访问XXX中的该新闻资源 (https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml)

那接下来,我们就来完善新闻标题部分的这个功能,那此时呢,我们就需要用到HTML中的超链接的标签 。

3.1.3.1 介绍
  • 标签: <a href="..." target="...">央视网</a>

  • 属性:

    • href: 指定资源访问的url

    • target: 指定在何处打开资源链接

      • _self: 默认值,在当前页面打开

      • _blank: 在空白页面打开

3.1.3.2 实现
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>焦X访谈:XXXX</title><style>h1 {color: #4D4F53;}#time {color: #968D92;font-size: 13px; /* 设置字体大小 */}a {color: black;text-decoration: none; /* 设置文本为一个标准的文本 , 去除掉 超链接 下面默认的下划线 */}</style>
</head>
<body><img src="img/news_logo.png"> <a href="http://gov.sina.com.cn/" target="_self">XXXX</a>  > 正文<h1>焦X访谈:XXXX</h1><hr><span id="time">2023年03月02日 21:50</span>  <span> <a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">XXX</a></span><hr></body>
</html>

浏览器打开此页面,我们可以看到最终效果(超链接的字体,以及默认的下划线,通过css样式已经调整好了):

3.2 新浪新闻-正文实现

3.2.1 正文排版
3.2.1.1 分析

整个正文部分的排版,主要分为这么四个部分:

1). 视频 (当前这种新闻页面,可能也会存在音频)

2). 文字段落

3). 字体加粗

4). 图片

3.2.1.2 标签

1). 视频、音频标签

  • 视频标签: <video>

    • 属性:

      • src: 规定视频的url

      • controls: 显示播放控件

      • width: 播放器的宽度

      • height: 播放器的高度

  • 音频标签: <audio>

    • 属性:

      • src: 规定音频的url

      • controls: 显示播放控件

2). 段落标签

  • 换行标签: <br>

    • 注意: 在HTML页面中,我们在编辑器中通过回车实现的换行, 仅仅在文本编辑器中会看到换行效果, 浏览器是不会解析的, HTML中换行需要通过br标签

  • 段落标签: <p>

    • 如: <p> 这是一个段落 </p>

3). 文本格式标签

效果标签标签(强调)
加粗bstrong
倾斜iem
下划线uins
删除线sdel

前面的标签 b、i、u、s 就仅仅是实现加粗、倾斜、下划线、删除线的效果,是没有强调语义的。 而后面的strong、em、ins、del在实现加粗、倾斜、下划线、删除线的效果的同时,还带有强调语义。

3.2.1.3 实现
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>焦X访谈:XXXX</title><style>h1 {color: #4D4F53;}#time {color: #968D92;font-size: 13px; /* 设置字体大小 */}a {color: black;text-decoration: none; /* 设置文本为一个标准的文本 */}p {text-indent: 35px; /* 设置首行缩进 */line-height: 40px; /* 设置行高 */}#plast {text-align: right; /* 对齐方式 */}</style>
</head>
<body><!-- 标题 --><img src="img/news_logo.png"> <a href="http://gov.sina.com.cn/" target="_self">新浪政务</a>  > 正文<h1>焦X访谈:XXXX</h1><hr><span id="time">2023年03月02日 21:50</span><span><a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">央视网</a></span><hr><!-- 正文 --><!-- 视频 --><video src="video/1.mp4" controls width="950px"></video><!-- 音频 --><!-- <audio src="audio/1.mp3" controls></audio> --><p><strong>XXX消息</strong> (XXXX)</p><p>XXXX</p><img src="img/1.jpg"><p>XXXX</p><img src="img/2.jpg"><p>XXXX</p><p id="plast">XXXX XXX</p>
</body>
</html>

在上述的正文排版实现中,还用到了几个CSS属性:

  • text-indent: 设置段落的首行缩进

  • line-height: 设置行高

  • text-align: 设置对齐方式, 可取值为 left / center / right

注意事项:

  • 在HTML页面中无论输入了多少个空格, 最多只会显示一个。 可以使用空格占位符(&nbsp;)来生成空格,如果需要多个空格,就使用多次占位符。

  • 那在HTML中,除了空格占位符以外,还有一些其他的占位符(了解, 只需要知道空格的占位符写法即可),如下:

    • 显示结果描述占位符
      空格&nbsp;
      <小于号&lt;
      >大于号&gt;
      &和号&amp;
      "引号&quot;
      '撇号&apos;

3.2.2 页面布局

目前,新闻页面的基本排版,我们都已经完成了,但是,大家会看到,无论是标题部分,还是正文部分,都是铺满了整个浏览器。 而我们再来看看新浪新闻的原始页面,我们会看到新闻网页内容都是居中展示的,左边、右边都是一定的边距的。

那接下来呢,我们就需要按照这个效果,来完成页面布局。 而要想完成这样一个页面布局,我们就需要介绍一下CSS中的盒子模型 。

3.2.2.1 盒子模型
  • 盒子:页面中所有的元素(标签),都可以看做是一个 盒子,由盒子将页面中的元素包含在一个矩形区域内,通过盒子的视角更方便的进行页面布局

  • 盒子模型组成:内容区域(content)、内边距区域(padding)、边框区域(border)、外边距区域(margin)

CSS盒子模型,其实和日常生活中的包装盒是非常类似的,就比如:

盒子的大小,其实就包括三个部分: border、padding、content,而margin外边距是不包括在盒子之内的。

3.2.2.2 布局标签
  • 布局标签:实际开发网页中,会大量频繁的使用 div 和 span 这两个没有语义的布局标签。

  • 标签:<div> <span>

  • 特点:

    • div标签:

      • 一行只显示一个(独占一行)

      • 宽度默认是父元素的宽度,高度默认由内容撑开

      • 可以设置宽高(width、height)

    • span标签:

      • 一行可以显示多个

      • 宽度和高度默认由内容撑开

      • 不可以设置宽高(width、height)

测试:

<body><div>A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A </div><div>A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A </div><span>A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A </span><span>A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A </span>
</body>

浏览器打开后的效果:

1). div会独占一行,默认宽度为父元素 body 的宽度

2). span一行会显示多个,用来组合行内元素,默认宽度为内容撑开的宽度

3.2.2.3 盒子模型代码

代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>盒子模型</title><style>div {width: 200px;  /* 宽度 */height: 200px;  /* 高度 */box-sizing: border-box; /* 指定width height为盒子的高宽 */background-color: aquamarine; /* 背景色 */padding: 20px 20px 20px 20px; /* 内边距, 上 右 下 左 , 边距都一行, 可以简写: padding: 20px;*/ border: 10px solid red; /* 边框, 宽度 线条类型 颜色 */margin: 30px 30px 30px 30px; /* 外边距, 上 右 下 左 , 边距都一行, 可以简写: margin: 30px; */}</style>
</head><body><div>A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A </div></body>
</html>

代码编写好了, 可以通过浏览器打开该页面, 通过开发者工具,我们就可以看到盒子的大小, 以及盒子各个组成部分(内容、内边距、边框、外边距):

我们也可以,通过浏览器的开发者工具,清晰的看到这个盒子,以及每一个部分的大小:

3.2.2.3 布局实现

在实现新闻页面的布局时,我们需要做两部操作:

  • 第一步:需要将body中的新闻标题部分、正文部分使用一个 div 布局标签将其包裹起来,方便通过css设置内容占用的宽度,比如:65%。

  • 第二步:通过css为该div设置外边距,左右的外边距分别为:17.5%,上下外边距靠边展示即可,为:0%。

具体的代码实现如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>焦X访谈:XXXXX</title><style>h1 {color: #4D4F53;}#time {color: #968D92;font-size: 13px; /* 设置字体大小 */}a {color: black;text-decoration: none; /* 设置文本为一个标准的文本 */}p {text-indent: 35px; /* 设置首行缩进 */line-height: 40px; /* 设置行高 */}#plast {text-align: right; /* 对齐方式 */}#center {width: 65%;/* margin: 0% 17.5% 0% 17.5% ; */ /* 外边距, 上 右 下 左 */margin: 0 auto;}</style>
</head>
<body><div id="center"><!-- 标题 --><img src="img/news_logo.png"> <a href="http://gov.sina.com.cn/" target="_self">新浪政务</a>  > 正文<h1>焦X访谈:XXXX</h1><hr><span id="time">2023年03月02日 21:50</span><span><a href="https://news.cctv.com/2023/03/02/ARTIUCKFf9kE9eXgYE46ugx3230302.shtml" target="_blank">XXX</a></span><hr><!-- 正文 --><!-- 视频 --><video src="video/1.mp4" controls width="950px"></video><!-- 音频 --><!-- <audio src="audio/1.mp3" controls></audio> --><p><strong>XXX消息</strong> (XXXX)</p><p>XXXX</p><img src="img/1.jpg"><p>XXXX</p><img src="img/2.jpg"><p>XXXX</p><p id="plast">XXXX XXX</p>  </div>
</body>
</html>

浏览器打开此页面,最终效果如下:

4. 表格标签

场景:在网页中以表格(行、列)形式整齐展示数据,我们在一些管理类的系统中,会看到数据通常都是以表格的形式呈现出来的,比如:班级表、学生表、课程表、成绩表等等。

标签:

  • <table> : 用于定义整个表格, 可以包裹多个 <tr>, 常用属性如下:

    • border:规定表格边框的宽度

    • width:规定表格的宽度

    • cellspacing: 规定单元之间的空间

  • <tr> : 表格的行,可以包裹多个 <td>

  • <td> : 表格单元格(普通),可以包裹内容 , 如果是表头单元格,可以替换为 <th>

演示:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML-表格</title><style>td {text-align: center; /* 单元格内容居中展示 */}</style>
</head>
<body><table border="1px" cellspacing="0"  width="600px"><tr><th>序号</th><th>品牌Logo</th><th>品牌名称</th><th>企业名称</th></tr><tr><td>1</td><td> <img src="img/huawei.jpg" width="100px"> </td><td>华为</td><td>华为技术有限公司</td></tr><tr><td>2</td><td> <img src="img/alibaba.jpg"  width="100px"> </td><td>阿里</td><td>阿里巴巴集团控股有限公司</td></tr></table></body>
</html>

打开浏览器,效果如下图所示:

整合表格使用 table 标签包裹 , 其中的每一行数据都是一个 tr , 每一行中的每一个单元格都是一个 td , 而如果是表头单元格, 可以使用 th (具有加粗居中展示的效果)。

5 表单标签

5.1 表单

5.1.1 介绍

那表单呢,在我们日常的上网的过程中,基本上每天都会遇到。比如,我们经常在访问网站时,出现的登录页面、注册页面、个人信息提交页面,其实都是一个一个的表单 。 当我们在这些表单中录入数据之后,一点击 "提交",就会将表单中我们填写的数据采集到,并提交, 那其实这个数据呢,一般会提交到服务端,最终保存在数据库中 (后面的课程中会讲到)。

那其实,上述的整个窗口是一个表单,而表单是一项一项的,这个我们称为表单项 或 表单元素。

  • 表单场景: 表单就是在网页中负责数据采集功能的,如:注册、登录的表单。

  • 表单标签: <form>

  • 表单属性:

    • action: 规定表单提交时,向何处发送表单数据,表单提交的URL。

    • method: 规定用于发送表单数据的方式,常见为: GET、POST。

      • GET:表单数据是拼接在url后面的, 如: xxxxxxxxxxx?username=Tom&age=12,url中能携带的表单数据大小是有限制的。

      • POST: 表单数据是在请求体(消息体)中携带的,大小没有限制。

  • 表单项标签: 不同类型的input元素、下拉列表、文本域等。

    • input: 定义表单项,通过type属性控制输入形式

    • select: 定义下拉列表

    • textarea: 定义文本域

5.1.2 演示

1). GET方式提交的表单

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML-表单</title>
</head>
<body><!-- form表单属性: action: 表单提交的url, 往何处提交数据 . 如果不指定, 默认提交到当前页面method: 表单的提交方式 .get: 在url后面拼接表单数据, 比如: ?username=Tom&age=12 , url长度有限制 . 默认值post: 在消息体(请求体)中传递的, 参数大小无限制的.-->   <form action="" method="get">用户名: <input type="text" name="username">年龄: <input type="text" name="age"><input type="submit" value="提交"></form></body>
</html>

表单编写完毕之后,通过浏览器打开此表单,然后再表单项中录入值之后,点击提交,我们会看到表单的数据在url后面提交到服务端,格式为:?username=Tom&age=12。

2). POST方式提交表单

将上述的表单提交方式由get,改为post

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML-表单</title>
</head>
<body><!-- form表单属性: action: 表单提交的url, 往何处提交数据 . 如果不指定, 默认提交到当前页面method: 表单的提交方式 .get: 在url后面拼接表单数据, 比如: ?username=Tom&age=12 , url长度有限制 . 默认值post: 在消息体(请求体)中传递的, 参数大小无限制的.-->   <form action="" method="post">用户名: <input type="text" name="username">年龄: <input type="text" name="age"><input type="submit" value="提交"></form></body>
</html>

表单编写完毕之后,通过浏览器打开此表单,然后再表单项中录入值之后,点击提交,我们会看到表单的数据在url后面提交到服务端,格式为:?username=Tom&age=12。

5.1.3 注意事项

表单中的所有表单项,要想能够正常的采集数据,在提交的时候能提交到服务端,表单项必须指定name属性。 否则,无法提交该表单项。

用户名: <input type="text" name="username">

5.2 表单项

5.2.1 介绍

在一个表单中,可以存在很多的表单项,而虽然表单项的形式各式各样,但是表单项的标签其实就只有三个,分别是:

  • <input>: 表单项 , 通过type属性控制输入形式。

    type取值描述
    text默认值,定义单行的输入字段
    password定义密码字段
    radio定义单选按钮
    checkbox定义复选框
    file定义文件上传按钮
    date/time/datetime-local定义日期/时间/日期时间
    number定义数字输入框
    email定义邮件输入框
    hidden定义隐藏域
    submit / reset / button定义提交按钮 / 重置按钮 / 可点击按钮
  • <select>: 定义下拉列表, <option> 定义列表项

  • <textarea>: 文本域

5.2.2 演示

创建一个新的表单项的html文件,具体内容如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>HTML-表单项标签</title>
</head>
<body><!-- value: 表单项提交的值 -->
<form action="" method="post">姓名: <input type="text" name="name"> <br><br>密码: <input type="password" name="password"> <br><br> 性别: <input type="radio" name="gender" value="1"> 男<label><input type="radio" name="gender" value="2"> 女 </label> <br><br>爱好: <label><input type="checkbox" name="hobby" value="java"> java </label><label><input type="checkbox" name="hobby" value="game"> game </label><label><input type="checkbox" name="hobby" value="sing"> sing </label> <br><br>图像: <input type="file" name="image">  <br><br>生日: <input type="date" name="birthday"> <br><br>时间: <input type="time" name="time"> <br><br>日期时间: <input type="datetime-local" name="datetime"> <br><br>邮箱: <input type="email" name="email"> <br><br>年龄: <input type="number" name="age"> <br><br>学历: <select name="degree"><option value="">----------- 请选择 -----------</option><option value="1">大专</option><option value="2">本科</option><option value="3">硕士</option><option value="4">博士</option></select>  <br><br>描述: <textarea name="description" cols="30" rows="10"></textarea>  <br><br><input type="hidden" name="id" value="1"><!-- 表单常见按钮 --><input type="button" value="按钮"><input type="reset" value="重置"> <input type="submit" value="提交">   <br>
</form></body>
</html>

通过浏览器打开上述的表单项html文件,最终展示出的表单信息如下:

而对于input type="hidden",是一个隐藏域,在表单中并不会显示出来,但是在提交表单的时候,是会提交到服务端的。 接下来,我们就点击提交按钮,来提交当前表单,看看提交的数据:

6. 文档查阅

文档地址: https://www.w3school.com.cn/index.html

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

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

相关文章

Open3D(C++) 基于法线微分的点云分割

目录 一、算法原理二、代码实现三、结果展示1、原始点云2、分割结果本文由CSDN点云侠原创,原文链接,首发于:2024年11月1日。 一、算法原理 使用C++版本Open3D复现的PCL里边基于法线微分的分割算法。PCL 基于法线微分(DoN)的点云分割【2024最新版】。网上有大量相关算法介…

Xcode 15.4 运行flutter项目,看不到报错信息详情?

Xcode升级后&#xff0c;遇到了奇怪的事情&#xff1a; 运行flutter项目&#xff0c;左侧栏显示有报错信息&#xff0c;但是点击并没有跳转出具体的error详情。【之前都会自己跳转出来的&#xff0c;升级后真的是无厘头】 方案&#xff1a; 点击左侧导航栏最右边的图标——>…

Java基础(8)异常

目录 1.前言 2.正文 2.1异常的引入 2.2异常的类型 2.2.1编译时异常 2.2.2运行时异常 2.3区分Exception与Error 2.4异常的声明&#xff0c;抛出与捕获 2.4.1throw 2.4.2throws 2.4.2try-catch与finally 2.6自定义异常 3.小结 1.前言 哈喽大家好啊&#xff0c;Java…

解决rabbitmq-plugins enable rabbitmq_delayed_message_exchange :plugins_not_found

问题&#xff1a;我是在docker-compose环境部署的 services:rabbitmq:image: rabbitmq:4.0-managementrestart: alwayscontainer_name: rabbitmqports:- 5672:5672- 15672:15672environment:RABBITMQ_DEFAULT_USER: rabbitRABBITMQ_DEFAULT_PASS: 123456volumes:- ./rabbitmq/…

JavaScript语法基础——变量,数据类型,运算符和程序控制语句(小白友好篇,手把手教你学会!)

一、JavaScript概述 JavaScript是一种高级编程语言&#xff0c;常用于网页开发和服务器端应用程序。它是一种动态类型语言&#xff0c;可以在浏览器中直接解释执行&#xff0c;而不需要编译。 脚本&#xff08;Script&#xff09;是一种与计算机程序相关的指令集或代码块&…

Android 中View.post的用法

View.post 是 Android 中 View 类的一个方法&#xff0c;它允许我们在视图 (View) 完成其布局 (Layout) 阶段后&#xff0c;将一个任务放到主线程的消息队列中&#xff0c;以便稍后执行。这种方式通常用于确保在 View 的尺寸、位置等布局属性已经计算完成后执行某些操作。 基本…

健康之路押注医药零售:毛利率下滑亏损扩大,医疗咨询人次大幅减少

《港湾商业观察》黄懿 2024年9月13日&#xff0c;健康之路股份有限公司&#xff08;下称“健康之路”&#xff09;再次递表港交所&#xff0c;建银国际为独家保荐人。健康之路国内运营主体为健康之路&#xff08;中国&#xff09;信息技术有限公司和福建健康之路信息技术有限公…

在pycharm中使用sqllite

在pycharm中使用sqllite sqllite 简介 SQLite 是一个开源的、轻量级的、关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它设计用于嵌入到应用程序中&#xff0c;并且可以在无需外部服务器进程的情况下运行。SQLite 提供了完整的 SQL 语言支持&#xff0c;允…

游戏启动失败:8种修复xinput1_3.dll错误的几种方法教程,轻松解决xinput1_3.dll错误

当你准备好在一天的工作后放松一下&#xff0c;启动你最爱的游戏&#xff0c;却突然收到一个“xinput1_3.dll 丢失”的错误消息&#xff0c;这无疑是令人沮丧的。幸运的是&#xff0c;xinput1_3.dll丢失问题通常可以通过几个简单的步骤来解决。本文将详细介绍这些步骤&#xff…

多线程和线程同步基础篇学习笔记(Linux)

大丙老师教学视频&#xff1a;10-线程死锁_哔哩哔哩_bilibili 目录 大丙老师教学视频&#xff1a;10-线程死锁_哔哩哔哩_bilibili 线程概念 为什么要有线程 线程和进程的区别 在处理多任务的时候为什么线程数量不是越多越好? Linux提供的线程API 主要接口 线程创建 pth…

DDRPHY数字IC后端设计实现系列专题

在对 LPDDR3 物理层接口模块进行后端设计之前&#xff0c;需要对该模块的功能结 构以及后端物理设计流程的相关理论进行深入的分析和研究。本章第一节详细分 析了本次 LPDDR3 物理层接口模块的结构&#xff0c;为该模块的布图布局的合理规划奠 定了理论基础&#xff0c;并且分析…

【笔记】数据结构与算法

参考链接&#xff1a;数据结构(全) 参考链接&#xff1a;数据结构与算法学习笔记 一些PPT的整理&#xff0c;思路很不错&#xff0c;主要是理解角度吧&#xff0c;自己干啃书的时候结合一下会比较不错 0.总论 1.数据 注&#xff1a;图是一种数据结构&#xff01;&#xff01;…

无人机救援系统基本组成

无人机救援系统基本组成 1. 源由2. 组成2.1 无人机载具2.1.1 多旋翼2.1.2 垂起固定翼2.1.3 智能避障2.1.4 物资投递 2.2 智能吊舱2.2.1 云台2.2.2 高清摄像2.2.3 红外热成像2.2.4 激光测距2.2.5 目标跟踪 2.3 通讯链路2.3.1 超长距离通信2.3.2 长距离通信2.3.3 中等距离通信 2.…

拍拍贷鸿蒙版H5容器之路

背景介绍 业务背景 2024年1月18日华为宣布&#xff1a;HarmonyOS NEXT 将不再支持 Android系统&#xff0c;基于以上背景及国内信贷业务现状&#xff0c;公司决定启动借款App鸿蒙化项目。 下图是2024年6月华为HDC大会上&#xff0c;华为宣布 HarmonyOS NEXT 将面向开发者和先…

微信小程序服务通知

项目中用到了小程序的服务消息通知&#xff0c;通知订单状态信息&#xff0c;下边就是整理的一下代码&#xff0c;放到项目中&#xff0c;把项目的小程序appid和小程序的secret写进去&#xff0c;直接运行即可 提前申请好小程序服务信息通知短信模板&#xff0c;代码需要用到模…

3000字帮你彻底搞懂Java抽象类与接口的区别(含JDK8接口新增三种方法与丰富案例)

Java-OOP 1-Final 1.1简介 final关键字是最终的意思&#xff0c;可以修饰&#xff1a;类、方法、变量。 修饰类&#xff1a;该类被成为最终类&#xff0c;特点是不能被继承了。修饰方法&#xff1a;该方法被称为最终方法&#xff0c;特点是不能被重写了。修饰变量&#xff…

有没有噪音低的宠物空气净化器推荐?希喂、IAM性能PK

有一说一&#xff0c;随着清洁家电市场的不断发展&#xff0c;市面上的各种清洁家电品类也是越来越多&#xff0c;像是吸尘器、洗地机、扫地机等等这些产品估计大家都很熟悉了。 但&#xff01;如果你家也跟我家一样也是养了几只猫猫狗狗&#xff0c;那你就会发现到&#xff0…

vscode摸鱼学习插件开发

不知道大家在摸鱼的时候&#xff0c;会不会想要学习&#xff1f; 或者有没有考公人&#xff0c;下班要学习的&#xff1f; 上班时间摸鱼&#xff0c;下班时间不够学习&#xff1f; 为此&#xff0c;我决定开发一个vscode插件&#xff0c;来刷粉笔题 粉笔插件名称&#xff1a;…

hive将包含逗号的字段拆分为多列

目录 一、概述 二、行动 1.准备数据 2.数据清洗 3.substring_index函数 4.split函数实现 一、概述 想将hive表中包含逗号的字段按逗号做分隔符进行分列操作 二、行动 1.准备数据 --1 select {1,2,3,4,5,6,7,8} as num_str --使用的数据2.数据清洗 --2 select num_s…

文心一言 VS 讯飞星火 VS chatgpt (381)-- 算法导论24.5 1题

一、给出图24-2的与图中两棵最短路径树不同的另外两棵最短路径树。如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 在图论中&#xff0c;最短路径树&#xff08;Shortest Path Tree, SPT&#xff09;是一种从单个源点到所有其他节点的最短路径形成的树。给定一个…