HTML5基础

news2024/11/20 4:26:51

HTML5

文章目录

      • HTML5
        • 概述
        • 开发工具
          • 浏览器
          • 开发软件
        • Demo
        • HTML5语法
          • HTML5标签
          • HTML5标签属性
          • HTML5文档注释
        • HTML5文档结构
          • 头部内容
          • 主体内容
          • Demo
        • HTML5常见标签
          • 常见块级标签
            • 标题标签
            • 水平线标签
            • 段落标签
            • 换行标签
            • 引用标签
            • 预格式标签
            • 无序列表标签
            • 有序列表标签
            • 定义列表标签
            • 分区标签
          • 常见行级标签
            • 图片标签
            • 超链接标签
            • 其他常用的行级标签
          • 块级标签和行级标签对比
          • HTML5新增结构标签
        • HTML5表格
          • HTML5表格简介
          • 表格定义
          • 表格基本属性
            • table标签属性
            • 行和列属性
          • 表格的结构化与直列化
            • 表格的结构化
            • 表格的直列化
        • HTML5表单
          • 表单简介
          • 表单的结构
          • 表单常用属性
            • action属性
            • method属性
            • enctype属性
          • input输入框
            • input常用属性
            • text文本输入框
            • password密码输入框
            • radio 单选按钮
            • checkbox复选按钮
            • file文件上传按钮
            • submit表单提交按钮
            • reset重置按钮
            • image图形提交按钮
            • button可单击按钮
            • 其他表单元素
          • 智能表单
            • 表单分组
            • 表单新增元素
            • 表单新增属性

概述

HTML是HyperText Markup Language(超文本标记语言)的缩写,用于创建网页的标准标记语言。

HTML使用标记标签来描述网页,由浏览器来解析,即使用HTML来建立Web站点,通过Web浏览器读取HTML文档,并以网页的形式显示出来。

HTML5是HTML最新的修订版本。

任何一个网页都是由一行行的HTML代码编写而成。

HTML5除了本身的标记外,广义上还包含CSS3 与 JavaScript。

HTML5的特点

  • 头部只需要写<!DOCTYPE html>即可

  • 新增加的标签<header><footer><section>等使得网页的可读性变得更高,也更加明确的表示出网页的结构,对于搜索引擎优化(SEO)有很大帮助

  • 新的<audio><video>标签可以用来嵌入音频和视频文件,这些标签的使用让网页播放音频、视频

  • <canvas>标签具有绘画功能,通过与JavaScript脚本的搭配,可以在网页上绘制图像

  • HTML5废除了一些标签,大部分为网页美化标签 ,如

    <center><font><tt><big><dir><frame>

开发工具

浏览器

浏览器可以显示网页服务器或者文件系统的HTML文件内容,浏览器可以解析HTML文件,不会显示HTML标签,而是使用标签来解释页面内容。

浏览器内核分为两部分:

  • 渲染引擎

    渲染引擎负责获取网页内容( HTML, XML, 图像等)、整理信息(加入CSS等)以及计算网页的显示方法,然后输出至显示器或者打印机。浏览器内核的不同对于网页的语法解释也会有不同,所以渲染的效果也不同。

  • JavaScript引擎

    JavaScript引擎负责解析和执行JavaScript来实现网页的动态效果

JavaScript引擎越来越独立,内核就倾向于指渲染引擎

常见的浏览器内核:
在这里插入图片描述

开发软件
  • HBuilder

    完整的语法提示和代码输入法、代码块等,包括最全面的语法库和浏览器兼容性数据

    https://www.dcloud.io/

  • Dreamweaver

    简称DW, 集网页制作和网站管理功能于一身的所见所得网页代码编辑器

  • WebStorm

  • VsCode

Demo

建立一个基本项目

image-20221205133748691

项目结构说明:

在这里插入图片描述

HTML5语法

HTML5作为一门语言,具有自己的结构和语法,主要用标签来进行组织。

HTML5由一个个标签组合而成,标签又有自己的属性和属性值。

HTML5标签

标签是HTML5最基本单位和最重要的组成。

使用<> 括起来,标签是闭合的。

标签分为单标记和双标记,单标记只有起始标记而没有结束标记。

<hr/>   <!-- 单标记 -->
<title> </title>  <!-- 双标记 -->

HTML5标签有相应语义,语义是由浏览器来进行表现

部分HTML5标签

在这里插入图片描述

HTML5标签属性

标签属性是标签的一部分,用于包含额外的信息。

一个标签中可以有多个属性,并且属性和属性值成对出现。

<img src="../image/a.png" width = "100" height = "100" />
<!-- 属性名="属性值" -->
HTML5文档注释

浏览器不会对注释内容进行解析并呈现到页面上,只有查看HTML5文件源代码时才会看到注释。

<!-- 这是注释 -->

HTML5文档结构

HTML5文件均以<html>标记开始,以 </html> 标记结束。

一个完整的HTML5文件包含头部和主体两个部分的内容,在头部标记<head> 中可以定义标题,样式等,文档的主体<body>中的内容是浏览器要显示的信息

HTML5对文档声明进行了简化

<! DOCTYPE html >

HTML5文档基本结构

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title> Demo </title>
    </head>
    <body>
        Hello world!
    </body>
</html>

注意: 页面中必须有文档声明,而且必须在文档页面的第一行

头部内容

<head>标签用于表示网页的元数据,即描述网页的基本信息。主要包含以下标签

  • title: 用于定义页面的标题,成对标记

  • meta: 用于定义页面的相关信息,非成对标记, 可以描述页面的作者、摘要、关键词、版权、自动刷新等页面信息

    meta标签常用属性

    • charset: 设置文档的字符集编码格式

      <meta charset="utf-8" />
      

      常见的字符集编码格式包括GB2312、GBK、UTF-8等

      GB2312是国标码,简体中文。GBK是扩展的国标码。UTF-8是一种针对Unicode的可变长字符编码,也称万国码(常用)。

    • http-equiv属性: 将信息写给浏览器看,让浏览器按照这里面的要求执行,可选属性值有Content-Type (文档类型), refresh(网页定时刷新), set-cookie(设置浏览器cookie缓存), 需要配合content属性使用。http-equiv属性只是表示需要设置哪一部分,具体的设置要放在content属性中

      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
      
    • name属性: 将信息写给浏览器看,使用方法同http-equiv属性

      常用的属性值有author(作者)、keywords(网页关键字) 、description(网页描述)

      <!-- 作者 -->
      <meta name="author" content="wkk"/>
      <!-- 网页关键字: 多个关键字使用英文逗号分隔-->
      <meta name="keywords" content="HTML5,网页,Web前端开发"/>
      <!-- 网页描述: 搜索网站时,title下面的解释文字 -->
      <meta name="description" content="this is the first demo by wkk" />
      
  • link: 可以加载一个图片作为网页图标

    link 标签有如下属性:

    • rel 属性: 声明被链接文件与当前文件的关系, 这里选icon
    • type属性: 声明被链接文件的类型,可以省略
    • href属性: 表示图片的路径地址
    <link rel="icon" type="image/x-icon" href="img/icon.jpg" />
    
主体内容

标记<body>包含文档所有的内容,如文字、图像、表格、表单等元素。

使用语义化标记设计网页:

<body>
    <header>网站主题</header>
    <nav>菜单</nav>
    <article>
    	主内容
        <section>
        	章节段落
        </section>
    </article>
    <aside>侧边栏</aside>
    <footer>页脚</footer>
</body>
Demo
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="keywords" content="demo,HTML5,Web,网页"/>
		<meta name="description" content="this is my first web" />
		<title>我的第一个网页</title>
		<link rel="icon" href="img/icon.jpg" />
	</head>
	<body>
		欢迎来到HTML5的世界!!!
	</body>
</html>

在这里插入图片描述

HTML5常见标签

常见块级标签

块级标签,此类标签在网页中显示为块。

块级标签一般独占一行,新的块级标签将从新的一行开始排列,可以容纳内联元素和其他块级元素。

标题标签
<h1>xxx</h1>
<h2>xxx</h2>
<h3>xxx</h3>
<h4>xxx</h4>
<h5>xxx</h5>
<h6>xxx</h6>

标题标签的作用是设置段落标题的大小,共设置了6级,从1级到6级每级标题的字体大小依次递减。

水平线标签
<hr/>

水平线标签的作用是添加水平分割线,让页面更容易区分段落。

段落标签
<p> </p>

使用段落标签可以区分段落,不同的段落间会自动增加换行符,段落上下方各会有一个空行的间隔。

换行标签
<br/>

使用换行标签可以控制段落中文字的换行显示。

一般的浏览器会根据窗口的宽度自动将文本进行换行显示。

引用标签
<blockquote cite="http://...."> 引用的文字 </blockquote>

使用引用标签来表示引用的文字,同时会将标签内的文字缩进显示。

其cite属性表明引用的来源,一般表明引用网址。

预格式标签
<pre> 需要按照原格式显示的文字 </pre>

预格式标签可以将文字按照原始的排列方式进行显示。

<pre>
	*
  *****
*********
</pre>
无序列表标签
<ul>
    <li> </li>
</ul>

无序列表是将文字段落向内缩进,并在每个列表项前面加上圆形(●)、空心圆形(〇)或方形(■)等符号

无序列表没有顺序编号,而是采用项目符号的形式,所以又被称为符号列表。

ul标签的 type属性决定符号的样式: disc(●) circle(〇) square(■)

有序列表标签
<ol>
    <li> </li>
</ol>

有序列表是将文字以特定的顺序来进行排列,每个列表项会向内缩进,并且它们之间以编号来标记,比如1、2、3、…。

ol标签的属性:

在这里插入图片描述

编号样式的属性值:

在这里插入图片描述

定义列表标签
<dl></dl>

定义列表适用于对名词、概念或主题的定义,第一部分是名词、概念或主题,并且通常只有一项,第二部分是相应的解释和描述,可以有多项。

<dl>
    <dt>  定义列表的标题 </dt>
    <dd> 描述的第一项 </dd>
    <dd> 描述的第二项 </dd>
</dl>
分区标签
<div>  </div>

<div>标签可定义文档中的分区或节,将文档分割为独立的、不同的部分。

是可用于组合其他HTML5标签的容器

由于它属于块级标签,浏览器会在其前后换行显示。

div标签的一个常见的用途是文档布局,如果与CSS一同使用,div标签可用于对大的内容块设置样式属性。

常见行级标签

行级标签在页面中可以和其他元素在同行显示,直到一行不能放下一个完整的元素

通常行级元素内不会包含其他元素

图片标签
<img />

网页中常用的图片格式为GIF,JPG和PNG等

<img src="img/logo.png" alt="img demo" title="a logo pic" />

图片标签主要有5个属性

  • src属性

    引用图片的路径地址,三种写法:

    • 相对路径:以当前文件为准,去寻找图片地址

    • 绝对路径: file://盘符:/文件夹/图片.扩展名 --> 严禁使用

      通过绝对路径打开图片使用的是file协议,但网页中使用的是http协议,因此会出现跨域问题,造成图片无法显示。

    • 网络地址: 使用网络上的图片链接

  • height和width属性

    height和width属性分别表示图片的宽度和高度

    推荐用CSS(style=“width:100px; height: 100px;”)代替

  • title属性

    设置图片的标题,即当鼠标指在图片上后显示的文字

  • alt属性

    由于图片无法加载时显示的文字

  • align属性

    设置图片周围文字相对于图片的位置。常用属性值有top、center、bottom,推荐用CSS来控制样式

超链接标签
<a> </a>

通常,一个网站是由多个页面组成的,而不同页面的跳转就需要使用链接。

<a>标签可以设置一个超链接,单击超链接可以跳转到新的文档或者当前文档中的某个部分。

<a href="#">这是一个超链接</a>
  • href属性

    在<a>标签中使用href属性来描述链接的地址,这个地址可以是网络链接,也可以是本地文件。当用#时,表示这是一个空的超链接。

  • target属性

    使用target属性可以定义通过超链接打开的文档在何处显示。

    常用的两个属性值分别为_self(在与链接相同的框架中打开被链接文档)和_blank(在新窗口中打开链接),默认属性值为_self

  • 锚链接的用法

    • 本页面的锚链接

      1. 设置锚点

        <a name="top"></a>
        
      2. 在超链接上,使用#name跳转到对应的锚点。

        <a href="#top" target="_self">这是一个超链接</a>
        
    • 页面间锚链接

      1. 在即将跳转页面的指定位置,设置锚点

      2. 在超链接的href属性中,使用页面的地址.html#name

        <a href="t.html#weixin">跳转到新页面的指定部分</a>
        
其他常用的行级标签
<span></span>
<em></em>
<strong></strong>
<i></i>
<b></b>

span标签常常用来组合文档中的行内元素,无实际意义,用于包裹某部分文字,修改特定样式
在这里插入图片描述

块级标签和行级标签对比
  • 块级标签自动换行,前后隔一行;行级标签不会自动换行,从左往右依次显示。
  • 块级标签的宽度默认是100%;行级标签的宽度由文字内容撑开。
  • 块级标签可以设置宽度、高度、边距等属性;行级标签不能设置上述属性。
HTML5新增结构标签

HTML5新增了一些结构标签,使用结构标签可以提升网页文档的可读性,并且有利于搜索引擎优化。

HTML5新增的结构标签主要包括以下7个:

  • <section>
  • <article>
  • <header>
  • <hgroup>
  • <footer>
  • <nav>
  • <aside>

HTML5结构标签布局示意图

在这里插入图片描述

结构标签具体含义:
在这里插入图片描述

HTML5表格

表格是HTML5中的重要布局之一,相对于其他的块级标签,表格在布局上有更加强大的能力。

表格包含的内容十分广泛,几乎可以包含所有的HTML5标签,可以极大的增加表格在布局方面的能力。

HTML5表格简介

表格可以让网页以行、列的方式承载数据。

表格的基本结构由行列组成,单元格是表格的最基本的单位。

表格的基本结构示意图:

image-20221209104158579

表格定义

表格使用<table>标签定义,每个表格均有若干行,行由<tr>标签定义,每行被分割为若干单元格,列由<td>标签定义。

字母td指表格数据(table data),即数据单元格的内容。

如果表格的第一行为表头,那么<td>标签需要使用<th>标签替换。

数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等。

<table>
    <tr>
    	<th></th>
        <th></th>
    </tr>
    <tr>
    	<td></td>
        <td></td>
    </tr>
</table>
表格基本属性

表格的属性可以分为两大类,分别为作用于<table>标签和作用于行<tr>,列<td>的属性。

table标签属性
  • border 表格边框属性

    border属性定义表格边框,属性值可以接收整数类型的数字,表示设置表格边框的宽度

    <table border="1">
        
    </table>
    

    border的值增大,只有表格最外围框线增加,每个单元格上的边框并不会变化。

  • width/height 宽度和高度属性

    width属性和height属性分别定义表格宽度和高度,单位默认为px

    <table width="400" height="200">
        
    </table>
    
  • bgcolor 表格背景属性

    bgcolor属性定义表格的背景色,传入一个颜色值,可以修改表格的背景色

    <table bgcolor="red">
        
    </table>
    
  • background表格背景图属性

    background属性定义表格的背景图,需要传入一张图片的路径地址,当background背景图属性与bgcolor背景色同时存在时,背景图会覆盖掉背景色

    <table background="img/img.png">
        
    </table>
    
  • bordercolor 表格边框颜色属性

    bordercolor属性定义表格的边框颜色,接收颜色值

    <table border="1" bordercolor="blue" >
        
    </table>
    
  • cellspacing 表格单元格间距属性

    cellspacing 属性定义表格单元格与单元格之间的间距

    表格单元格与单元格之间默认存在一定的间距,使用cellspacing属性可以手动调整这个间距的大小

    cellspacing设为0时,单元格间没有间距

    <table border="1" cellspacing="10" >
        
    </table>
    

    使用cellspacing=“0” , 设置单元格之间没有间距,并不能合并相邻边框,中间的边框是两条线的宽度,如果需要合并表格边框,需要使用css

    <table border="1" style="border-collapse: collapse;">
        
    </table>
    

    使用css语法使得边框合并后,cellspacing属性会失效。

  • cellpadding 表格单元格内边距属性

    cellpadding 属性定义单元格的内边距,即单元格中的文字与单元格边框之间的距离

    <table border="1" cellpadding="10" >
        
    </table>
    
  • align 表格对齐属性

    align属性用于调整表格在其父容器中的位置,可选值有left, center, right, 分别表示表格居左,居中,居右

    <table border="1" align="center">
        
    </table>
    

    表格的align属性不再建议使用,它的相关功能已经被css中的浮动(float)所取代

行和列属性

作用于tr 和 td的属性

  • width/height 单元格宽度/高度属性

    用于调整表格中单元格的宽和高

    <table border = "1">
        <tr>
        	<td width="100" height="50" > 第一行 </td>
        </tr>
    </table>
    

    当表格属性和行列属性冲突时,以行列属性为准

  • bgcolor 单元格背景色属性

    修改单元格的背景色

    <td bgcolor="#0000FF"> 第一行 </td>
    
  • align 单元格内容水平对齐属性

    align属性控制单元格中内容的水平位置

    <td align="left"  >第一行</td>
    <td align="center">第二行</td>
    <td align="right" >第三行</td>
    

    表格的align属性是控制表格自身在浏览器中的显示位置,而行列的align属性是控制单元格中文字在单元格中的对齐方式

    表格的align属性并不影响表格内文字的对齐方式,tr标签的align属性可以控制一行中所有单元格的水平对齐方式

  • valign 单元格内容垂直对齐属性

    valign 属性控制单元格中内容的垂直位置

    <td valign="top"   >第一行</td>
    <td valign="center">第二行</td>
    <td valign="bottom">第三行</td>
    

    当表格属性与行列属性冲突时,以行列属性为准( 近者优先 )

  • colspan / rowspan 表格的跨列跨行

    colspan属性表示跨列,当某个格跨N列时,其右边的N-1个单元格需要删除

    rowspan属性表示跨行,当某个格跨N行时,其下方的N-1个单元格需要删除

    <tr>
    	<td colspan="3"></td>
    </tr>
    <tr>
    	<td rowspan="2"></td>
    </tr>
    
表格的结构化与直列化

为了更好地管理以及格式化表格,更好的语义化标签。

表格的结构化

表格的结构化是将表格分为表头、表体、表尾三个部分,这样在修改其中一部分时,不会影响到其他部分,方便对表格进行操作。

一个完整的表格通常包含以下四个部分。

  • caption 表格的标题,通常出现在表格的顶部
  • thead: 定义表格表头,通常表现为标题行
  • tbody: 定义一段表格主体,一个表格可以有多个主体,可以按照行来进行分组
  • tfoot: 定义表格的脚尾,通常表现为总计行
<table width="500">
    <caption> 表格标题 </caption>
    <thead>
        <tr>
        	<th> 表格头部</th>
        </tr>
    </thead>
    <tbody>
    	<tr>
        	<td>表格主体</td>
        </tr>
    </tbody>
    <tfoot>
    	<tr>
        	<td>表格底部</td>
        </tr>
    </tfoot>
</table>

tbody包含行的内容下载完优先显示,不必等待表格结束。

表格本来是从上向下显示,但是应用了thead, tbody,tfoot以后,就"从头到脚"显示,即不管行代码顺序如何,网页显式时,还是先thead 后tbody显示

表格的直列化

通过设置表格的直列化可以对表格进行分组,以便对其进行格式化

<table>
    <!--前两列为一组-->
	<colgroup style="background-color:yellow;">
		<col/> 		<!--第一列-->
    	<col/>  	<!--第二列-->
	</colgroup>
	<col style="background-color:blue;"/>   <!--第三列-->
    
    <!--
		表格内容
	-->
</table>

如需对全部列应用样式,colgroup 标签很有用,可以不需要对各个单元和各行重复应用样式。

colgroup标签只能在table中使用

HTML5表单

表单主要用于用户填写信息,并将获得的信息传递到后台服务器端,使网页具有交互功能。

HTML5中,表单增加了新元素,表单元素也增加了许多新的属性

表单简介

表单用于让用户填写信息并提交给服务器进行处理

在这里插入图片描述

表单的结构

表单由许多表单控件组成,主要包括用户填写信息部分和表单提交按钮

用户填写数据完成后,单击"提交"按钮就可以发送数据到服务器

表单内容由<form> </form>包裹,基本语法

<form>
    各种表单控件
</form>
表单常用属性
action属性

action属性用于指定表单提交时向何处发送表单数据

基本语法

<form action="form.php">
    各种表单控件
</form>
method属性

method属性用于指定表单向服务器提交数据的方法。

包含两种方法get和post, get方法是表单提交的默认方法

基本语法

<form action="form.php" method="post">
    各种表单控件
</form>
enctype属性

enctype属性指定表单发送的编码方式,只有method="post"时才有效,共有三种属性值

  • application/x-www-form-urlencoded 默认值,如果enctype属性省略,则表示使用这种编码
  • multipart/form-data 不对字符编码,用于上传文件时使用
  • text/plain 将空格转换为+符号,但是不编码特殊字符,通常在将表单发送到电子邮箱时使用
input输入框

表单最重要的元素,input输入框用于收集用户信息。根据不同的type属性值,可以用多种形式输入内容。

input常用属性
  1. type属性

    表示输入框的类型,默认值是text。所有浏览器都支持type属性,但是type属性值不是所有浏览器都可以支持。

  2. name属性

    name属性表示input输入框的名称,一般必填。传递数据时,需要使用name=value的形式传递

  3. value属性

    value属性表示input输入框的默认值

    <form>
        <input name="name" type="text" value="请输入名字"/>
    </form>
    
  4. placeholder属性

    placeholder属性表示输入框中的提示信息,当输入框有value属性时,提示内容会消失,转而显示value属性的值

    <form>
        <input name="name" type="text" placeholder="请输入名字"/>
    </form>
    
  5. tabindex属性

    控制按Tab键时的跳转顺序,从最小的数值开始,逐个往大的数值跳转,依次获得焦点

  6. input元素的其他属性

    一些属性名等于属性值的特殊属性

    • checked=“checked” 默认选中

    • disabled=“disabled” 设置控件是否可用。用在按钮上效果为不能单击,用在输入框上则表示不能修改,而且输入框为disabled,则输入框中的信息不能往后台传递

    • hidden=“hidden” 设置隐藏控件

      <input type="hidden" name="username" value="1234"/>
      

      常用于配合disabled属性,或根据其他需要,使用隐藏域传递数据。

text文本输入框

文本输入框用于输入单行文本,默认宽度为20个字符。

<form>
    <input name="username" type="text" maxlength="10" size="5"/>
</form>

最大字符长度为10, 可显示的字符数为5

password密码输入框

密码输入框中输入的内容会以小黑点的形式替换显示,小黑点的形式可以有效避免密码的泄露

<input name="pwd" type="password" maxlength="16"/>
radio 单选按钮

单选按钮用于填写表单时信息选择

<input type="radio" name="sex" value="" checked="checked"/><input type="radio" name="sex" value=""/>
  • name和value属性需要同时存在,提交时,提交的是value中的属性值
  • radio凭借name属性区分是否为同一组。name相同为同一组,同组中只能选择一个
  • checked="checked"默认选中,radio只能选中一个,checkbox可以选择多个
checkbox复选按钮

复选按钮和单选按钮相同,也用于填写表单时信息选择。

<input type="checkbox" name="hobby" value="sing" checked="checked"/>唱歌
<input type="checkbox" name="hobby" value="draw" checked="checked"/>画画
<input type="checkbox" name="hobby" value="dance"/>跳舞
file文件上传按钮

文件上传按钮用于文件上传,单击选择文件按钮会弹出对话框,选择需要上传的文件

<input type="file"/>
submit表单提交按钮

表单提交按钮用于提交表单数据,单击按钮后,表单中用户填写的信息会发送到表单指定的地方进行处理。

<input type="submit" value="登录" />
<!-- 省略value属性,默认为 提交 -->
reset重置按钮

重置按钮将表单数据重置为初始状态,通常是清空表单已填内容

<input type="reset"/>
image图形提交按钮

图形提交按钮需要添加src属性来设置图片的路径。功能与submit相同,可以提交表单数据。通常在美化网页时会使用图形提交按钮来代替默认的提交按钮,使页面更加美观

<input type="image" src="xxx" />
button可单击按钮

定义一个可单击的按钮,通常与javascript一起使用来启动脚本。

<input type="button" value="点我" onclick="alert('这是一个按钮!')" />
其他表单元素
  1. select下拉选择控件

在表单中通过<select>控件可以创建一个下拉式的列表或者带有滚动条的列表,可以在列表中选中一个或者多个选项。

开发人员提前设计好选项,让用户在填写信息时可以直接选择,更加方便用户使用。

<select name="week">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
</select>

select标签的属性

  1. name=“列表名”,所有选项只有一个name
  2. multiple=“multiple” 设置select控件为多选,可在列表中使用ctrl键进行多选,一般不用
  3. size=“1”, 规定下拉列表中可见选项的数目,如果size属性的值大于1, 但是小于列表中选项的总数目,下拉列表就会显示出滚动条,表示可以查看更多选项

option标签的属性

  1. value 分为两种情况
    当选项option没有value属性时,往后台传递的是<option></option>标签中的文字,当选项option有value属性时,往后台传递的是value属性的值
  2. title 鼠标指上后显示的文字,与图片的title属性类似
  3. selected=“selected” 默认选中,即select得初始值

利用optgroup标签分组

<optgroup label="分组名" >
  
</optgroup>

用于将option标签进行分组,label属性表示分组名。

<form>
  <select name="city">
      <optgroup label="山东省">
      	<option value="1" title="青岛">青岛</option>
          <option value="2" selected="selected">烟台</option>
      </optgroup>
      <optgroup label="北京市">
      	<option>海淀区</option>
          <option>朝阳区</option>
      </optgroup>
  </select>
</form>
  1. textarea文本域
    与input的type="text"不同,textarea创建的文本域是多行的,文本域中可以容纳无限数量的文本,其中文本的默认字体是等宽字体。通常采用CSS来设置其宽度和高度。
<form action="form.php" method="post">
  <textarea style="width:200px;height:150px;">文本域内容</textarea>
</form>

文本域的属性

  1. 设置宽高: cols规定文本域中可见的列数,rows规定文本域中可见的行数,但是这种方法不常用,通常使用CSS来规定其宽度和高度
  2. readonly=“readonly”, 设置为只读模式,不允许编辑
  3. disable=“disable” 设置禁用文本域

除了以上文本域自带属性外,通常通过CSS设置其样式

  1. style=“resize:none;” 设置宽高不允许拖放修改
  2. style=“overflow:hidden;” 设置当文字超出区域时,如何处理。overflow-x/ overflow-y 分别设置水平或者垂直方向的显示方式
    overflow有三个常用属性值:
    • hidden设置超出区域的文字,隐藏无法显示
    • scroll设置无论文字多少,均会显示滚动条
    • auto设置为自动,根据文字多少自动决定是否显示滚动条–>默认样式,这种情况下当文本域中的内容没有超出范围时,滚动条呈灰色状

3 . button按钮

button的作用是定义一个按钮,与input创建的按钮功能类似,也可以与JavaScript一起使用启动脚本。

基本语法

<form action="form.php" method="post">
  <button type="button">
      这是一个按钮
  </button>
</form>

在button内部可以放置内容,如文本或者图像。这是该元素与使用input创建的按钮之间的不同之处。

注意:始终要为button元素规定type属性,不同的浏览器对button元素的type属性使用不同的默认值。

智能表单

在HTML5中,表单新增了一些属性和元素,这些属性和元素让表单变得更加方便实用

autocomplete属性可以让表单具有自动完成功能,浏览器会根据用户之前输入的值自动完成,让表单的填写更加方便。

表单分组

fieldset 可以组合表单中的相关元素,将表单根据不同的内容进行分组

<form action="form.php" method="post">
    <fieldset>
        <legend>这是一个表单</legend>
    </fieldset>
</form>

fieldset表示表单边框,legend表示表单标题。

如果想要让标题嵌入到边框中,需要将标题写到边框标签里面。

一个表单可以有多个边框与标题的组合。

<form action="form.php" method="post">
    <fieldset>
        <legend>这是表单的第一部分</legend>
        其他表单控件
    </fieldset>
    <fieldset>
        <legend>这是表单的第二部分</legend>
        其他表单控件
    </fieldset>
</form>
表单新增元素
新增元素描述
datalist定义选项列表,与input元素配合使用用来定义input可能的值
keygen规定用于表单的密钥对生成器字段
output定义不同类型的输出,比如脚本的输出

datalist具有和autocomplete类似的自动完成功能,但是它有一个功能是autocomplete属性没有的,在使用datalist时,它可以根据用户输入的内容,在预先设置好的列表中筛选出与用户输入相关的信息作为备选。

<input type="text" list="list"/>
<datalist id="list">
	<option>123</option>
    <option>456</option>
</datalist>
表单新增属性
  1. 表单新增属性

    属性说明
    autocomplete规定form表单具有自动完成功能。当用户在自动完成域中开始输入时,浏览器应该在该域中显示填写的选项
    novalidate规定提交表单时不进行验证

    autocomplete属性值有on和off, novalidate属性值有true和false

  2. input标签新增属性

    属性说明
    autocomplete规定input标签具有自动完成功能
    autofocus规定在页面加载时,控件自动地获得焦点(一个页面只能有一个控件使用该属性)
    required规定输入的字段是必需的(必须填写)
    pattern规定通过其检查输入值的正则表达式
    form overrides规定表单重写属性
    form规定输入域所属的一个或者多个表单

    form overrides是一个合集,实际上包含有多个属性

    • formaction: 重写表单的action属性
    • formenctype: 重写表单的enctype属性
    • formmethod:重写表单的method属性
    • formnovalidate:重写表单的novalidate属性
    • formtarget:重写表单的target属性

    表单重写属性与type="submit"配合使用,会在提交时修改表单的属性值。

    form属性,是为特定的form表单添加id,再为希望与表单一起提交的表单元素添加form属性,从而实现input无须放在form标签之中,也可以通过表单提交,使用这种方式可以在设计页面时不再局限于表单的固定位置。

    form属性demo

    <form action="form.php" method="post" id="form1">
        
    </form>
    <!-- 在表单外的input添加了form属性,其内容会随表单一起提交 -->
    <input type="text" name="test" form="form1"/>
    
  3. input标签新增输入类型

    输入类型浏览器支持作用
    colorOpera, Chrome定义拾色器
    dateOpera,Chrome限制用户输入时间格式
    emailIE10以上,FireFox,Opera,Chrome,Safari限制用户输入email格式
    numberIE10以上版本,Opera,Chrome,Safari限制用户输入数字格式
    rangeIE10以上,Opera,Chrome,Safari定义包含一定范围内的值的数字字段,显示为一个滑块,可以通过min和max属性设置最小最大值
    searchChrome, Safari定义用于输入搜索字符串的文本字段,与普通文本输入框不同的是右侧会有一个x号,单击x号,可以删除用户在输入框中输入的所有内容

    这些新增输入类型在不同浏览器中显示效果会有所不同,另外在某些不支持新增输入类型的浏览器中可能功能无法使用。

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

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

相关文章

【Java寒假打卡】Java基础-继承

【Java寒假打卡】Java基础-继承一、继承的好处和弊端二、继承的成员变量访问特点三、重写方法四、方法重写的注意事项五、权限修饰符六、构造方法一、继承的好处和弊端 继承的好处 提高了代码的复用性 提高了代码的维护性 让类和类之间产生了关系 是多态的前提 继承的弊端 …

Flink-使用filter和SideOutPut进行分流操作

文章目录1.什么是分流&#xff1f;2. 过滤器(filter)3. 使用侧输出流&#xff08;SideOutput&#xff09;&#x1f48e;&#x1f48e;&#x1f48e;&#x1f48e;&#x1f48e; 更多资源链接&#xff0c;欢迎访问作者gitee仓库&#xff1a;https://gitee.com/fanggaolei/learni…

四、网络层(七)网络层设备

目录 7.1 路由器的组成和功能 7.2 路由表与路由转发 7.1 路由器的组成和功能 路由器是一种具有多个输入/输出端口的专用计算机&#xff0c;其任务是连接不同的网络&#xff08;可以是异构的&#xff09;并完成路由转发。在多个逻辑网络&#xff08;即多个广播域&#xff…

Vulnhub靶机:HACKADEMIC_ RTB1

目录介绍信息收集主机发现主机信息探测网站探测Sql注入挂马提权介绍 系列&#xff1a;Hackademic&#xff08;此系列共2台&#xff09; 发布日期&#xff1a;2011年9月6日 难度&#xff1a;初级 运行环境&#xff1a;VMware Workstation 目标&#xff1a;取得 root 权限 flag…

5W2H分析法

什么是5W2H 5W2H分析法又叫七何分析法&#xff0c;是二战中美国陆军兵器修理部首创。简单、方便&#xff0c;易于理解、使用&#xff0c;富有启发意义&#xff0c;广泛用于企业管理和技术活动&#xff0c;对于决策和执行性的活动措施也非常有帮助&#xff0c;也有助于弥补考虑…

【UE4 第一人称射击游戏】07-添加“AK47”武器

素材资料地址&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1epyD62jpOZg-o4NjWEjiyg 密码&#xff1a;jlhr 效果&#xff1a; 步骤&#xff1a; 1.打开“WalkRun_BS”&#xff0c;将内插时间改为1 2.创建一个文件夹&#xff0c;命名为“Weapons” 进入“Weapons”…

可视化数据图表-FineReportJS实现清空控件内容

1. 概述 1.1 问题描述 在使用查询控件时&#xff0c;有时我们希望能够快捷重置控件的内容&#xff0c;或者重置所有控件的内容。效果如下图所示&#xff1a; 重置某个控件的内容&#xff1a;1.2 实现思路 在使用查询控件时&#xff0c;有时我们希望能够快捷重置控件的内容&a…

H3C 二层链路聚合

简介&#xff1a; 它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路&#xff0c;从而实现增加链路带宽的目的。 成员端口&#xff1a; 选中&#xff08;Selected&#xff09;状态&#xff1a;此状态下的成员端口可以参与用户数据的转发&#xff0c;处于此状态的成员端口…

绝!OpenAI 年底上新,单卡 1 分钟生成 3D 点云,text-to 3D 告别高算力消耗时代

内容一览&#xff1a;继 DALL-E、ChatGPT 之后&#xff0c;OpenAI 再发力&#xff0c;于近日发布 PointE&#xff0c;可以依据文本提示直接生成 3D 点云。 关键词&#xff1a;OpenAI 3D 点云 PointE OpenAI 年底冲业绩&#xff0c;半个多月前发布的 ChatGPT 广大网友还没…

政务行业势能厂商 |美创科技入选《嘶吼2022中国网络安全产业势能榜》

近日&#xff0c;网络安全垂直媒体嘶吼网络安全产业研究院正式发布《嘶吼2022中国网络安全产业势能榜》评选结果。凭借在政务数据安全领域的服务深耕以及广泛的市场认可&#xff0c;美创科技入选势能榜“政务篇”&#xff0c;获评政务行业“专精型”安全厂商。 嘶吼安全产业研究…

Apache 之执行 CGI 脚本(Python 实现)

目录前言1 查看并挑选 Python 版本2 用 Python 实现一个简单的 CGI 脚本3 查看 CGI 环境变量总结前言 本文记录了一个搭建 CGI 环境的示例。前文推荐&#xff1a;《Apache 2.4.54 x64 安装及配置》。 【系统环境】 Win10-64bit Apache 2.4.54 x64 Python 3.11.1 1 查看并挑选…

PyInstaller的常用打包命令

学习了pyqt后&#xff0c;设计了界面&#xff0c;并且需要打包为exe程序。 每次打包时&#xff0c;都要查好久资料&#xff0c;故此记录一下常用的命令。 PyInstaller 是一个 Python 应用程序打包工具&#xff0c;它可以将 Python 程序打包为单个独立可执行文件。 要使用 P…

2022星空创造营应用创新大赛圆满落幕,获奖名单出炉!

​12月22日&#xff0c;2022星空创造营应用创新大赛在2022手机创新周暨第十届手机设计大赛颁奖典礼上作为特别专场正式公布获奖名单。2022星空创造营应用创新大赛由联通在线、手机设计大赛天鹅奖组委会联合主办&#xff0c;联通在线音乐公司及工信部赛迪研究院共同承办&#xf…

Vulnhub靶机:HOLYNIX_ V1

目录介绍信息收集主机发现主机信息探测网站探测万能密码文件包含漏洞文件上传提权补充&#xff1a;ip问题介绍 系列&#xff1a;Holynix&#xff08;此系列共2台&#xff09; 发布日期&#xff1a;2010年11月27日 难度&#xff1a;中 运行环境&#xff1a;VMware Workstation …

F9P使用说明

1.介绍 ZED-F9P简易使用说明&#xff0c;只是简单使用无需点击具体的链接。 使用硬件&#xff1a;F9P 软件&#xff1a;ucenter 22.07 2.数据类型 ublox接收机接收到的数据 NEMA数据:https://baike.baidu.com/item/NMEA-0183/1810482UBX数据&#xff1a;二进制的GNSS观测值…

12月更新!EasyOps全平台产品能力再升级,新增22+功能亮点解读~

哈喽伙伴们 又到了优维EasyOps全平台产品每月功能上新时间 转眼就到了2022年的最后一个月份 12月有些事情结束了 有些事情才刚刚开始 闲言少叙 咱们来看看12月上线了哪些新功能吧 HyperInsight 超融合监控 「APM」 支持通过日志采集接口数据和指标数据 丰富APM数据接…

哪里能够找到完整的信息安全标准

写在前面 早年刚参加信息安全工作更多的学点皮毛技术&#xff0c;到处找安全工具&#xff0c;跟踪poc&#xff0c;拿到一个就全网扫一遍&#xff0c;从来没有想过&#xff0c;系统化的安全工作应该怎样搞?我做的工作在安全体系中处于哪个阶段? 后来有机会做企业安全建设&…

刷爆力扣之仅含 1 的子串数

刷爆力扣之仅含 1 的子串数 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#x…

Chrome谷歌浏览器清空缓存并强制刷新页面

在项目开发过程中&#xff0c;用浏览器测试时很多时候会被浏览器自带的缓存搞得很头疼&#xff0c;那么下面会介绍几种方法实现Chrome浏览器清空缓存并强制刷新页面 1.通过快捷键方式 Windows和Linux操作系统&#xff1a;CtrlShiftR Mac OS: CmdShftR 这样就可以使用硬性重…

第十六章 强化学习

16.1 任务与奖赏 上图给出了强化学习的一个简单图示。强化学习任务通常用马尔可夫决策过程&#xff08;MDP&#xff09;来描述&#xff1a; 机器处于环境E中&#xff0c;状态空间为X&#xff0c;其中每个状态x∈X是机器感知到的环境的描述&#xff0c;如在种瓜任务上这就是当前…