首页 前端知识 HTML5基础

HTML5基础

2024-02-19 09:02:27 前端知识 前端哥 320 266 我要收藏

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号,可以删除用户在输入框中输入的所有内容

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

转载请注明出处或者链接地址:https://www.qianduange.cn//article/2274.html
标签
评论
发布的文章

Markdown基础与进阶语法

2024-06-30 22:06:12

零基础 HTML 入门(详细)

2024-06-30 22:06:09

CSS3基本语法

2024-06-30 22:06:51

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!