目标:
能够说出网页的基本组成: 由图片、链接、文字、声音、视频等元素组成
能够说出什么是HTML: 超文本标记语言,它是用来描述网页的一种语言
能够说出常用的浏览器: 火狐、谷歌、IE...
能够说出 Web 标准的三大组成部分: 结构、表现、行为
HTML简介导读
一、什么是网页?
网站 是指 在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。
网页 是 网站中的一"页",通常是HTML格式的文件,它要通过浏览器来阅读。
网页 是 构成网站的基本元素,它通常由 图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见以 .html或.htm后缀结尾的文件,因此将其俗称为HTML文件。
所谓 超文本,有 2 层含义:
-
它可以加入图片、声音、动画、多媒体等内容 ( 超越了文本限制 )。
-
它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接 ( 超级链接文本 )。
二、什么是 HTML
HTML 指的是 超文本标记语言 (Hyper Text Markup Language),它是用来 描述网页的一种语言。
HTML 不是一种 编程语言,而是一种 标记语言 (markup language)。
标记语言是 一套标记标签 (markup Tag)。
三、网页的形成
网页 是 由网页元素组成的,这些元素利用 html 标签描述出来,如何通过浏览器解析来显示给用户的。
四、常用的浏览器
(一) 浏览器概述
浏览器 是 网页显示,运行的平台。常用的浏览器有 IE、火狐(Firefox)、谷歌(Chrome)、Safari 和 Opera等。平时称为五大浏览器。
查看浏览器市场份额:百度统计——一站式智能数据分析与应用平台
(二) 浏览器内核
浏览器内核 (渲染引擎):负责读取网页内容,整理讯息,计算网页的显示方式并显示页面。
浏览器 | 内核 | 备注 |
---|---|---|
IE | Trident | IE、猎豹安全、360极速浏览器、百度浏览器 |
Firefox | Gecko | 火狐浏览器内核 |
Safari | Webkit | 苹果浏览器内核 |
chrome/Opera | Blink | chrome / opera浏览器内核。Blink 其实是 Webkit 的分支。 |
目前国内一般浏览器都会采用 Webkit/Blink 内核,如360、UC、QQ、搜狗等。
五、Web 标准 (重点)
Web 标准 是由 W3C 组织和其他标准化组织制定的一系列标准的集合。W3C (万维网联盟) 是国际最著名的标准化组织。
(一) 为什么需要 Web 标准
浏览器不同,它们显示页面或者排版就有些许差异。
遵循 Web 标准除了可以让不同的开发人员写出的页面更标准,更统一外,还有以下优点:
-
让 Web 的发展前景更广阔。
-
内容能被更广泛的设备访问。
-
更容易被搜索引擎搜索。
-
降低网站流量费用。
-
使网站更易于维护。
-
提高页面浏览速度
(二) Web 标准的构成
主要包括 结构 (Structure)、表现 (Presentation) 和 行为 (Behavior) 三个方面。
标准 | 说明 |
---|---|
结构 | 结构用于对网页元素进行修理和分类,现阶段主要学的是HTML |
表现 | 表现用于设置网页元素的版式、颜色、大小等外观样式,主要指的是CSS |
行为 | 行为是指网页模型的定义及交互的编写,现阶段主要学的是 Javascript |
Web 标准提出的最佳体验方案:结构、样式、行为相分离。
简单理解:结构写到HTML文件中,表现写到CSS文件中,行为写到Javascript文件中。
HTML语法规范
一、基本语法概述
-
HTML 标签 是 由尖括号包围的关键字,例如 < html >。
-
HTML标签通常是成对出现的,例如< html > 和 </ html >,我们称为双标签。标签对中的第一个标签是开始标签,第二个是结束标签。
-
有些特殊的标签必须是单标签 (极少情况),例如 < br/ >,我们称为单标签。
“<br>”、“<hr>”、“<area>”、“<base>”、
“<img>”、“<input>”、“<link>”、“<meta>”、“<col>”、
“<frame>”、“<embed>”、“<keygen>
二、标签关系
双标签关系可以分为两类:包含关系和并列关系。
包含关系
<head>
<title></title>
<head>
并列关系
<head></head>
<body></body>
目标:
能够说出标签的书写注意规范
能够写出 HTML 骨架标签
能够写出超链接标签
能够写出图片标签并说出 alt 和 title的区别
能够说出相对路径的三种形式
HTML基本结构标签
第一个 HTML 网页
每个网页都会有一个 基本的结构标签 (也称为 骨架标签),网页内容也是再这些基本标签上书写。
HTML 页面也称为 HTML文档。
标签名 | 定义 | 说明 |
---|---|---|
< html > | HTML标签 | 页面中最大的标签,我们称为 根标签 |
< head > | 文档的头部 | 注意在 head 标签中我们必须要设置的标签是 title |
< title > | 文档的标题 | 让页面拥有一个属于自己的网页标题 |
< body > | 文档的主体 | 元素包含文档的所以内容,页面内容 基本都是放在 body 里面的 |
<html>
<head>
<title>标题</title>
</head>
<body>
你我之间,黑马洗礼,月薪过万,一飞冲天。
</body>
</html>
HTML 文档的后缀名必须是.html 或 .htm,浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。
开发工具
一、VSCode的使用
-
双击打开软件
-
新建文件(Ctrl + N)。
-
保存 (Ctrl + S),注意移到要保存为 .html文件
-
Ctrl + 加号键,Ctrl + 减号键 可以放大缩小视图
-
生成页面骨架结构。
-
输入 ! 按下 Tab键
-
输入html:5.
-
二、VSCode常用的快捷键
-
快速复制一行
快捷键:Shift + Alt + 下箭头(上箭头)
-
选定多个相同的单词
快捷键:Ctrl + D
先双击选定一个单词,然后按下 ctrl + d 可以往下依次选择相同的单词,这样同时修改相同的单词。
-
添加多个光标
快捷键:Ctrl + Alt + 上箭头(下箭头)
-
全局替换某个单词
快捷键:Ctrl + H
当我们一个页面需要修改大量相同的文字的时候,我们一个的修改超级麻烦,此时我们可以使用全局替换。
-
放大缩小整个编辑器界面
快捷键:Ctrl + 加号 或 减号
三、VSCode好用的插件
-
Chinese Language Pack 汉化
-
Auto Close Tag 自动补全标签
-
One Dark Pro 设置颜色主题
-
open in browser 浏览器预览页面
-
Live Server 实时预览 (推荐)
-
vscode-icons 设置文件图标主题
-
Easy LESS 设置 less文件
-
会了吧 英语翻译
-
Auto Rename Tag 修改标签名,自动同步修改闭合标签的标签名
VSCode 工具生成骨架标签新增代码
1. <!DOCTYPE>标签
2. lang 语言
3. charset 字符集
一、文档类型声明标签
<!DOCTYOE> 文档类型声明,作用 就是 告诉浏览器使用哪种HTML版本来显示网页。
<!DOCTYPE>
这句代码的意思是:当前页面采取的是 HTML5版本来显示网页。
注意:
-
<!DOCTYPE>
声明位于文档中的最前面的位置,处于<html>
标签之前。 -
<!DOCTYPE>
不是一个 HTML标签,它就是文档类型声明标签。
二、lang语言种类
用来定义当前文档显示的语言。
-
en定义语言为英语
-
zh-CN定义语言为中文
其实对于文档显示来说,定义成en的文档可以显示中文,定义成zh-CN的文档也可以显示英文。
三、字符集
字符集 是 多个字符的集合。以便计算机能够识别和存储各种文字。
在<head>
标签内,可以通过 <meta>
标签的 charset属性来规定 HTML文档应该用哪种字符编码。
<meta charset="UTF-8" />
charset 常用的值有:GB2312、BIG5、GBK 和 UTF-8,其中 UTF-8也被称为万国码,基本包含了全世界所有国家需要用到的字符。
注意:上面语法是必须要写的代码,否则可能引起乱码的情况。一般情况下,统一使用 "UTF-8"编码,尽量统一写成标准的 "UTF-8",不要写成 "utf8"或"UTF8"。
<!DOCTYPE html>
<html lang="UTF-8">
<head>
<title></title>
</head>
<body></body>
</html>
HTML 常用标签(上)
一、标题标签
为了使网页更具有语义化,我们经常会在页面中用到标题标签。HTML提供了6个等级的网页标题。即< h1 > - < h6 >
<h1>我是一级标题</h1>
<h2>我是二级标题</h2>
<h3>我是三级标题</h3>
<h4>我是四级标题</h4>
<h5>我是五级标题</h5>
<h6>我是六级标题</h6>
单词 head 的缩写,意为头部、标题
标签语义:作为标题使用,并且依据重要性递减。
特点:
-
加了标题的文字会变的加粗,字号也会依次变大。
-
一个标题独占一行。
二、段落和换行标签
注意:行与行之间的空隙更小,段落与段落之间的空隙更大。
在网页中,要把文字有条理地显示出来,就需要把这些文字分段显示。在HTML标签中,< p >标签用于定义段落,它可以将整个网页分为若干个段落。
<p>我是一个段落标签</p>
标签语义:可以把 HTML 文档分割成若干段落。
特点:
-
文本在一个段落中会根据浏览器窗口的大小自动换行。
-
段落和段落之间有空隙。
在 HTML 中,一个段落中的文字会从左到右依次排列,知道浏览器窗口的右端,然后才自动换行。如果希望某段文字强制换行显示,就需要使用换行标签< br/ >。
< br />
标签语义:强制换行。
特点:
-
< br/ >是单个标签。
-
< br/ >标签只是简单地开始新的一行,跟段落不一样,段落之间会插入一些垂直的间距。
三、文本格式化标签
在网页中,有时需要为 文字设置粗体、斜体 或 下划线
等效果,这时就需要用到 HTML 中的文本格式化标签,使文字以特殊的方式显示。
标签语义:突出重要性,比普通文字更重要。
语义 | 标签 | 说明 |
---|---|---|
加粗 | <strong></strong>或者<b></b> | 更推荐使用<strong>标签 语义更强烈 |
倾斜 | <em></em>或者<i></i> | 更推荐使用<em>标签 语义更强烈 |
删除线 | <del></del>或者<s></s> | 更推荐使用<del>标签 |
下划线 | <ins></ins>或者<u></u> | 更推荐使用<ins>标签 语义更强烈 |
四、< div >和< span >标签
< div > 和 < span >是没有语义的,它们就是一个盒子,用来装内容的。
<div>这是头部</div>
<span>今日价格</span>
特点:
-
< div >标签用来布局,但是现在一行只能放一个 < div >。(大盒子)
-
< span >标签用来布局,一行上可以多个 < span >。(小盒子)
五、图像标签和路径
(一) 图像标签
在HTML标签中,< img >标签用于定义HTML页面中的图像。
<img src="图像URL" />
src是< img >标签的必须属性,它用来指定图像文件的路径和文件名。
图像标签的其他属性:
属性 | 属性值 | 说明 |
---|---|---|
src | 图片路径 | 必须属性 |
alt | 文本 | 替换文本,图像不能显示的文字 |
title | 文本 | 提示文本,鼠标放到图像上,显示的文字 |
width | 像素 | 设置图像的宽度 |
height | 像素 | 设置图像的高度 |
border | 像素 | 设置图像的边框粗细 |
图像标签属性注意点:
-
图像标签可以拥有多个属性,必须写在标签名的后面。
-
属性之间不分先后顺序,标签名与属性、属性与属性之间均以空格分开。
-
属性采取键值对的格式,即 key = "value"的格式,属性 = "属性值"。
(二) 路径
1) 目录文件夹和根目录
实际工作中,我们的文件不能随便乱放,否则用起来很难快速的找到他们,因此我们需要一个文件夹来管理他们。
目录文件夹:就是普通文件夹,里面只不过存放了我们作页面所需要的相关素材,比如 html文件、图片等。
根目录:打开目录文件夹的第一层就是根目录。
2) 相对路径和绝对路径
页面中的图片会非常多,通常我们会新建一个文件夹存放这些图像文件 (images),这时再查找图像,就需要采用 "路径"的方式来指定图像文件的位置。
相对路径:以引用文件所在位置为参考基础,而建立出的目录路径。
这里简单来说,图片相对于 HTML 页面的位置
相对路径分类 | 符号 | 说明 |
---|---|---|
同一级路径 | 图像文件位于 HTML 文件同一级 如< img src="baidu.gif" /> | |
下一级路径 | ./ | 图像文件位于 HTML 文件下一级 如< img src="images/baidu.gif" /> |
上一级路径 | ../ | 图像文件位于HTML文件上一级 如< img src="../baidu.gif" /> |
绝对路径:是指 目录下的绝对位置,直接到达目标位置,通常时从盘符开始的路径。
例如
"D:\web\img\login.jpg"
或完整的网络地址:
"http:// www. itcast.cn/images/login.jpg".
六、超链接标签
在 HTML 标签中,< a >标签用于定义超链接,作用时从一个页面链接到另一个页面。
(一) 链接的语法格式
<a href="跳转目标" target="目标窗口的弹出方式"> 文本或图像 </a>
两个属性的作用如下:
属性 | 作用 |
---|---|
href | 用于指定链接目标的url地址,(必须属性) 当为标签应用href属性时,它就具有了超链接的功能 |
target | 用于指定链接页面的打开方式,其中_ self 为默认值,_ blank为在新窗口中打开方式 |
(二) 链接分类:
-
外部链接:例如< a href="baidu.com">百度</ a>。
-
内部链接:网站内部页面之间的相互链接,直接链接内部内部名词即可,例如< a href="login.html">登录页</ a>。
-
空链接:如果当时没有确定链接目标时,< a href="#">首页</ a>。
-
下载链接:如果 href 里面地址是一个文件 (.exe)或者压缩包 (.zip),会下载这个文件。
-
网页元素链接:在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接。
-
锚点链接:当我们点击链接,可以快速定位到页面中的某个位置。
-
在链接文本的 href 属性中,设置属性值为 #名字 的形式,如< a href="#two">第二季</ a>
-
找到目标位置标签,里面添加一个 id 属性,如:< h3 id="two"> 第二季介绍 </ h3>
-
HTML注释和特殊字符
一、注释
如果需要在 HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签。
HTML中的注释 "< !--"开头,以"-->"结束。
<!-- 注释语句 --> 快捷键:ctrl+/
一句话:注释标签里面的内容是给程序员看的,这个代码是不执行不显示到页面中的。
二、特殊字符
在HTML页面中,一些特殊的符号很难或者不方便直接使用,此时我们就可以使用下面的字符来替代。
特殊字符 | 描述 | 字符的代码 |
---|---|---|
空格符 | & nbsp; | |
< | 小于号 | & lt; |
> | 大于号 | & gt; |
& | 和号 | & amp; |
¥ | 人民币 | & yen; |
* | 乘号 | & times; |
/ | 除号 | & divide; |
± | 正负号 | & plusmn; |
© | 版权 | & copy; |
® | 注册商标 | & reg; |
° | 摄氏度 | & deg; |
目标
能够书写表格
能够写出无序列表
能够写出3~4个常用 input 表单类型
能够写出下拉列表表单
能够使用表单元素实现注册页面
能够独立查询 W3C 文档
HTML常用标签(下)
一、表格标签
表格是实际开发中非常常用的标签:
(一) 表格的主要作用:
表格 主要 用来显示、展示数据,因为它可以让数据显示的非常的规整,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把繁杂的数据表现得很有条理。(表格里面可以放任何元素(图片,视频,音频,超链接...))
总结出:表格不是用来布局页面的,而是用来展示数据的。
支出项目 | 单价 (元) | 数目 | 金额(元) |
---|---|---|---|
垃圾箱 | 30 | 12 | 360 |
垃圾牌 | 100 | 12 | 1200 |
合计 | -- | -- | 1560 |
(二) 表格的基本语法
<table>
<tr>
<td>单元格内的文字</td>
...
</tr>
...
</table>
-
< table> </ table>是用于定义表格的标签。
-
< tr> </ tr>标签用于定义表格中的行,必须嵌套在< table> </ table>标签中。
-
< td> </ td>用于定义表格中的单元格,必须嵌套在< tr></ tr>标签中。
-
字母 td 指表格数据( table data),即数据单元格的内容。
-
表格中没有列的概念。
(三) 表头单元格标签
一般表头单元格位于表格的第一行或第一列,表头单元格里面的文字内容加粗居中显示。
<table>
<tr>
<th>姓名</th>
...
</tr>
...
</table>
表格属性
表格属性要写到表格标签 table 里面去。
属性名 | 属性值 | 描述 |
---|---|---|
align(对齐) | left、center、right | 规定表格相对周围元素的对齐方式。 |
border | 1 或 "" | 规定表格单元是否拥有边框,默认为"",表示没有边框。 |
cellpadding | 像素值 | 规定单元格沿与其内容之间的空白,默认1像素。 |
cellspacing | 像素值 | 规定单元格之间的空白,默认2像素。 |
width | 像素值或百分比 | 规定表格的宽度。 |
height | 像素值或百分比 | 规定表格的高度 |
表格结构标签
使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主体两大部分。
在表格标签中,分别用:< thead >标签表格的头部区域,< tbody >标签表格的主体区域,这样可以更好的分清表格的结构。
-
< thead > </ thead >:用于定义表格的头部,< thead > 内部必须拥有 < tr > 标签。一般是位于第一行。
-
< tbody > </ tbody>:用于定义表格的主体,主要用于放数据本体。
-
以上标签都是放在 < table > </ table > 标签中。
<table>
<!--表格头部-->
<thead>
<tr>
<th>排名</th>
...
</tr>
</thead>
<!--表格主体-->
<tbody>
<tr>
<td>1</td>
...
</th>
...
</tbody>
</table>
(四) 合并单元格
特殊情况下,可以把多个单元格合并成一个单元格。
1.合并单元格方式
2.目标单元格
3.合并单元格的步骤
合并单元格方式:
-
跨行合并:rowspan="合并单元格的个数"
-
跨列合并:colspan="合并单元格的个数"
目标单元格:(写合并代码)
-
跨行:最上侧单元格为目标单元格,写合并代码
-
跨列:最左侧单元格为目标单元格,写合并代码
合并单元格三步曲:
-
先确定是跨行还是跨列合并。
-
找到目标单元格,写上合并方式 = 合并的单元格数量。比如< td colspan="2"></ td>。
-
删除多余的单元格。
二、列表标签
表格是用来显示数据的,那么列表就是用来布局的。
列表最大的特点就是整洁、有序,它作为布局会更加自由和方便。
根据使用场景不同,列表可以分为三大类:无序列表、有序列表 和 自定义列表。
(一) 无序列表 (重点)
< ul > 标签表示 HTML 页面中项目的无序列表,一般会以项目符号呈现列表项,而列表项使用< li >标签定义。无序列表的基本语法格式如下:
<ul>
<li>列表1</li>
<li>列表2</li>
...
</ul>
-
无序列表的各个列表项之间没有顺序级别之分,是并列的。
-
< ul ></ ul >中只能嵌套 < li ></ li >,直接在< ul ></ ul >标签中输入其他标签或文字的做法是不被允许的。
-
< li > </ li >之间相当于一个容器,可以容纳所以元素。
-
无序列表会带有自己的样式属性,但在实际使用时,我们会使用 CSS 来设置。
(二) 有序列表 (理解)
有序列表 即为有排序顺序的列表,其各个列表项会按照一定的顺序排列定义。
在 HTML 标签中,< ol >标签用于定义有序列表,列表排序以数字来显示,并且使用 < li >标签来定义列表项。
<ol>
<li>列表1</li>
<li>列表2</li>
...
</ol>
-
< ol ></ ol >中只能嵌套 < li ></ li >,直接在< ol ></ ol >标签中输入其他标签或文字的做法是不被允许的。
-
< li > </ li >之间相当于一个容器,可以容纳所以元素。
-
有序列表会带有自己的样式属性,但在实际使用时,我们会使用 CSS 来设置。
(三) 自定义列表 (重点)
自定义列表的使用场景:
自定义列表 常用于对术语或名词进行解释和描述,定义列表的列表项前面没有任何项目符号。
其基本语法如下:
<dl>
<dt>名词1</dt>
<dd>名词1解释1</dd>
<dd>名词1解释2</dd>
...
</dl>
-
< dl ></ dl >里面只能包含 < dt >和 < dd >。
-
< dt > 和 < dd >个数没有限制,经常是一个< dt > 对应多个 < dd >。
三、表单标签
使用表单目的是为了收集用户信息。
在我们网页中,我们也需要跟用户进行交互,收集用户资料,此时就需要表单。
(一) 表单的组成
在 HTML 中,一个完整的表单 通常用 表单域、表单控件(也称表单元素) 和 提示信息 3个部分构成。
(二) 表单域
表单域是一个包含表单元素的区域。
在 HTML 标签中,< form > 标签用于定义表单域,以实现用户信息的收集和传递。
<form> 会把它范围内的表单元素信息提交给服务器。
<form action="url地址" method="提交方式" name="表单域名称">
各种表单元素控件
</form>
常用属性:
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接受并处理表单数据的服务器程序的url地址 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或post |
name | 名称 | 用于指定表单名词,以区分同一个页面中的多个表单域。 |
这里只需要记住两点:
-
在我们写表单元素之前,应该有个表单域把他们进行包含。
-
表单域就是 form 标签。
(三) 表单控件 (表单元素)
在表单域中可以定义各种表单元素,这些表单元素就是 允许用户在表单中输入或者选择的内容控件。
接下来我们讲解:
1. input 输入表单元素
2. select 下拉表单元素
3. textarea 文本域元素
1 input 输入表单元素
在英文单词中,input是输入的意思,而在表单元素中 < input > 标签 用于收集用户信息。
在 < input >标签中,包含一个type属性,根据不同的 type 属性值,输入字段拥有很多种形式 (可以是文本字段、复选框、掩码后的文本控件、单选按钮、按钮等)
<input type="属性值" />
-
< input />标签是单标签。
-
type属性设置不同的属性值用来指定不同的控件类型。
type 属性的属性值及其描述如下:
属性值 | 描述 |
---|---|
button | 定义可点击按钮 (多数情况下,用于通过 JavaScript 启动脚本)。如获取短信验证码 |
checkbox | 定义复选框 |
file | 定义输入字段和 "浏览" 按钮,供文件上传 |
hidden | 定义隐藏的输入字段 |
image | 定义图像形式的提交按钮 |
password | 定义密码字段。该字段中的字符被掩码 |
radio | 定义单选按钮 |
reset | 定义重置按钮。重置按钮会删除表单中的所有数据 |
submit | 定义提交按钮。提交按钮会把表单数据发送到服务器 |
text | 定义单行的输入字段,用户可在其中输入文本。默认宽度为20个字符 |
除 type 属性外,< input > 标签还有其他很多属性,其常用属性如下:
属性 | 属性值 | 描述 |
---|---|---|
name | 由用户自定义 | 定义 input 元素的名称 |
value | 由用户自定义 | 规定 input 元素的值 |
checked | checked | 规定此 input 元素首次加载时应当被选中 |
maxlength | 正整数 | 规定输入字段中的字符的最大长度 |
-
name 和 value 是每个表单元素都有的属性值,主要给后台人员使用。
-
name 表单元素的名字,要求单选按钮和复选框要有相同的 name 值。
-
checked属性值 主要 针对于单选按钮和复选框,主要作用一打开页面,就要可以默认选中某个表单元素。
(1) 有些表单元素想刚打开就默认显示几个文字怎么做?
答:可以给这些表单元素设置 value 属性="值"
用户名:<input type="text" value="请输入用户名" />
(2) 页面中的表单元素很多,如何区分不同的表单元素?
答:name属性:当前 input 表单的名字,后台可以通过这个 name 属性找到这个表单。页面中的表单很多,name的主要作用就是用于区别不同的表单。
用户名:<input type="text" name="username" />
-
name 属性后面的值,是自定义的
-
radio(或者checkbox)如果是一组,我们必须给他们命名相同的名字
<input type="radio" name="sex" />男
<input type="radio" name="sex" />女
<lable >标签
< label >标签为 input 元素定义标注(标签)。
< label >标签用于绑定一个表单元素,当点击< label >标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。
语法:
<label for="sex">男</label>
<input type="radio" name="sex" id="sex" />
核心:< label > 标签的 for属性应当与相关元素的id属性相同。(可以理解成: for为了元素id)
2 select 下拉表单元素
使用场景:在页面中,如果有多个选项让用户选择,并且想要节约页面空间时,我们可以使用< select > 标签控件定义下拉列表。
语法:
<select>
<option>选项1</option>
<option>选项1</option>
<option>选项1</option>
...
</select>
-
< select > 中至少包含一对< option >。
-
在< option > 中定义 selected="selected"时,当前项即为默认选中项。
3 textarea文本域元素
使用场景:当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用< textarea >标签。
在表单元素中,< textarea >标签 是 用于定义多行文本输入的控件。
使用多行文本输入控件,可以输入更多的文字,该控件常用于留言板,评论。
语法:
<textarea rows="3" cols="20">
文本内容
</textarea>
-
通过< textarea > 标签可以轻松地创建多行文本输入框。
-
cols="每行中的字符数",rows="显示的行数",我们在实际开发中不会使用,都是用CSS来改变大小。
综合案例
<!DOCTYPE html>
<html lang="cn">
<head>
<title>注册页</title>
</head>
<body>
<!-- 1. 标题 -->
<h4>青春不常在,抓紧谈恋爱</h4>
<form action="#" method="get" name="注册页">
<table width="600">
<!-- 2.性别 -->
<tr>
<td>性别</td>
<td><input type="radio" name="sex" id="boy" checked="checked"/>
<label for="boy">男
<input type="radio" name="sex" id="gril"/>
<label for="gril">女
</td>
</tr>
<!-- 3.生日 -->
<tr>
<td>生日</td>
<td>
<select>
<option>--请选择年--</option>
</select>
<select>
<option>--请选择月--</option>
</select>
<select>
<option>--请选择日--</option>
</select>
</td>
</tr>
<!-- 4. 所在地区 -->
<tr>
<td>所在地区</td>
<td><input type= "text" value="北京思密达"/></td>
</tr>
<!-- 5. 婚姻情况 -->
<tr>
<td>婚姻情况</td>
<td>
<input type= "checkbox" checked="checked" />未婚
<input type= "checkbox" />已婚
<input type= "checkbox" />离婚
</td>
</tr>
<!-- 6. 学历 -->
<tr>
<td>学历</td>
<td><input type="text" value="幼儿园" /></td>
</tr>
<!-- 7. 喜欢类型 -->
<tr>
<td>喜欢类型</td>
<td>
<input type="checkbox" />妩媚滴
<input type="checkbox" checked="checked"/>可爱滴
<input type="checkbox" />娇小滴
<input type="checkbox" />丰韵的
</td>
</tr>
<!-- 8. 自我介绍 -->
<tr>
<td>自我介绍</td>
<td>
<textarea cols="30" rows="4"> 自我介绍</textarea>
</td>
</tr>
<!-- 9. 免费注册 -->
<tr>
<td></td>
<td><button>免费注册</button></td>
</tr>
<!-- 10.条款 -->
<tr>
<td></td>
<td><input type="radio" />我同意注册条款和会员加入标准</td>
</tr>
<!-- 11.登录 -->
<tr>
<td></td>
<td><a href="#">我是会员,立即登录</a></td>
</tr>
<!-- 12. 承诺 -->
<tr>
<td></td>
<td>
<h3>我承诺</h3>
<ul>
<li>年满18岁、单身</li>
<li>抱着严肃的态度</li>
<li>真诚寻找另一半</li>
</ul>
</td>
</tr>
</table>
</form>
</body>
</html>
查阅文档
经常查阅文档是一个非常好的学习习惯。
推荐的网址:
-
百度:百度一下,你就知道
-
W3C:w3school 在线教程
-
MDN:MDN Web Docs
HTML5的新特性
HTML5的新增特性主要是针对于以前的不足,增加了一些新的标签、新的表单和新的表单属性等。
这些新特性都有兼容性问题,基本是IE9+以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特性。
一、新的标签
(一)、新增语义标签
<header> 头部标签
<nav> 导航标签
<article> 内容标签
<section> 定义文档某个区域
<aside> 侧边栏标签
<footer> 底部标签
以前布局,我们基本上用 div 来做,div对于搜索引擎来说,是没有语义的。
注意:
-
这些语义化标准主要是针对搜索引擎的
-
这些新标签页面中可以使用多次
-
在IE9中,需要把这些元素转化为块级元素
-
移动端不存在兼容性,更喜欢使用这些标签
-
HTML5新增了很多标签,需要慢慢学习
(二) 多媒体标签
新增的多媒体标签主要包含两个:
-
音频:< audio >
-
视频:< video >
使用他们可以很方便的在页面中嵌入音频和视频,而不再去使用flash或其他浏览器插件
视频 video
HTML5在不使用插件的情况下,也可以原生地支持视频格式播放,但是支持的格式有限
浏览器 | MP4 | WebM | ogg |
---|---|---|---|
Internet Explorer | 支持 | 不支持 | 不支持 |
Chorme | 支持 | 支持 | 支持 |
Firefox | 支持(从Firefox21 版本开始、Linux系统从Firefox30 开始) | 支持 | 支持 |
Safari | 支持 | 不支持 | 不支持 |
Opera | 支持 | 支持 | 支持 |
<video src="文件地址" controls="controls"></video>
兼容性写法:
<video width="300">
<source src="media.mp4" type="video/mp4">
<source src="media.ogg" type="video/ogg">
您的浏览器暂不支持video标签播放视频
</video>
常见的属性:
属性 | 值 | 说明 |
---|---|---|
autoplay | autoplay | 视频自动播放(chorme需要添加muted属性才可以自动播放) |
controls | controls | 向用户展示视频控件 |
width | 像素 | 设置播放器宽度 |
height | 像素 | 设置播放器高度 |
loop | loop | 是否循环播放视频 |
preload | auto(预先加载视频);none(不预加载视频) | 规定是否预加载视频(若设置了autoplay属性则会忽略) |
src | 视频路径 | 视频url |
poster | 图片路径 | 加载等待时显示的图片 |
muted | muted | 静音播放 |
音频 audio
<audio src="url" controls="controls"></audio>
source写法:
<audio controls="controls">
<source src="music.mp3" type="audio/mpeg">
<source src="music.ogg" type="audio/ogg">
您的浏览器暂不支持audio标签。
</audio>
常见属性:
属性 | 值 | 说明 |
---|---|---|
autoplay | autoplay | 音频就绪后自动播放 |
controls | controls | 向用户展示音频控件 |
loop | loop | 音频循环播放 |
src | url | 要播放音频的url |
chorme禁止了音频的自动播放
多媒体标签总结
-
音频标签和视频标签使用方式基本一致
-
浏览器支持情况不同
-
chorme禁止了音频和视频的自动播放属性
-
视频标签是重点,我们经常设置自动播放,取消控件,循环和设置大小属性
三、新增input表单
属性值 | 说明 |
---|---|
type=“email” | 限制用户输入的必须为邮箱 |
type=“url” | 限制用户输入的必须为URL |
type=“date” | 限制用户输入的必须为日期 |
type=“time” | 限制用户输入的必须为时间 |
type=“month” | 限制用户输入的必须为月份 |
type=“week” | 限制用户输入的必须为周 |
type=“number” | 限制用户输入的必须为数字 |
type=“tel” | 限制用户输入的必须为手机号码 |
type=“search” | 搜索框 |
type=“color” | 生成一个颜色选择表单 |
重点记住 number、tel、search
三、新增表单属性
属性 | 值 | 说明 |
---|---|---|
required | required | 表示内容不能为空,必填项 |
placeholder | 提示文本 | 提示信息 |
autofocus | autofocus | 自动聚焦,页面加载完成自动聚焦光标 |
autocomplete | off/on | 当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。默认已经打开,如autocomplete=“on”,关闭autocomplete =”"off"需要放在表单内,同时加上name属性,同时成功提交 |
multiple | multiple | 可以多选文件提交 (file表单) |
<form action="#">
<input type="text" required="required"
name="sear" place="请输入内容" autofocus="autofocus" autocomplete="on">
<input type="submit" value="提交">
</form>
可以通过以下设置方式修改placeholder里面的字体颜色∶
input::placeholder {
color: pink;
}
如果 autocomplete 成功提交之后,不显示之前输入的值,关闭浏览器硬件加速。