共计 46218 个字符,预计需要花费 116 分钟才能阅读完成。
什么是 HTML
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/6758444222…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/2833389642…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/1447214015…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
https://xueqiu.com/2054466366…
HTML,全称 Hyper Text Markup Language,又称作超文本标记语言。很多人误以为学习编程,就须要应用编程语言。No,在学习 HTML 之前,咱们肯定要清晰地晓得 HTML 并不是一门编程语言,而是一门描述性的“标记语言”。
HTML 也是一种计算机语言,不仅能够将一般文本转换在 web 层面应用,还能够为一般的无构造文本提供构造,读者须要这种构造来帮忙他们浏览。如果没有构造,单纯的文本将会会合在一起,容易造成混同。
HTML 是由一系列标签(tag)组成的,根本语法如下:
< 标签符 > 文本内容 </ 标签符 >
标签符个别都是成对呈现,蕴含一个开始符号和一个完结符号
- 什么是网页?
网页其实就是放在服务器上的一个文件,当咱们浏览网页时,这个文件会被下载到咱们本地的电脑,而后再由浏览器解析,渲染出各种丑陋的界面,比方表格、图片、题目、列表等。
网页文件的后缀有很多种,比方.html、.php、.jsp、.asp 等,置信读者在浏览器的地址栏里也都见到过,如下图所示:
但不论网页的后缀是什么,它的实质都是一样的,就是由 HTML 代码形成的纯文本文件。
咱们能够应用记事本、Notepad++、Sublime Text、Vim 等文本编辑器关上网页文件,看到它的所有内容,就像上面这样:
`<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title> 这是网页题目 </title>
</head>
<body>
<p> 这是一段文本 </p>
<a href="http://c.biancheng.net/"> 这个一个超链接 </a>
<ul>
<li> 条目 1 </li>
<li> 条目 2 </li>
<li> 条目 3 </li>
</ul>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
这就是 HTML 代码!咱们能够看到很多由 <> 突围的非凡标记,这叫做 HTML 标签(Tag),浏览器通过辨认这些 HTML 标签来渲染出各种界面和成果。
每种 HTML 标签都有不同的含意,实用于不同的场景,能展现出不同的成果,例如:
- < html> 标签用来突围以后网页的所有 HTML 代码,能够把它看做一个外壳。
- < head> 标签示意网页的头部,用来设置一些网页的参数,在浏览器中是看不到的:
- < meta charset=“UTF-8”> 用来指明以后网页的编码格局是 UTF-8;
- < title> 用来设置以后网页的题目,相当于文件的名字,它会显示在浏览器的标题栏。
- < body> 标签示意网页的注释内容,也就是须要在浏览器主界面中显示的内容:
- < p> 标签用来示意一个段落,能包容一段文本;
- < a> 标签用来示意一个超链接,用鼠标点击后能够跳转到其它网页;
- < ul> 标签用来示意一个列表,其中的每个
- 都是子标签,用来示意一个列表项。
将下面的代码保留到 index.html,拖到浏览器中运行,能够看到如下的成果:
这是一个十分简陋的网页,仅作为例子来演示,实在网页的 HTML 代码远比这简单,你能够在网页上单击鼠标右键,而后在弹出菜单中选择“查看网页源代码”,就能够查看以后网页的 HTML 代码。
- 什么是网站?
一个网站由很多网页组成,能够将多个网页放在一个文件夹中,这个文件夹还能够嵌套其它子文件夹,最终造成一个树状构造,如下图所示:
如果咱们给顶级目录 program 绑定一个域名 www.domain.com,那么用户就能够通过 www.domain.com 来拜访 program 文件夹中的所有文件(包含子文件夹),例如:
www.domain.com/demo.html
www.domain.com/python/
www.domain.com/java/spring.html
www.domain.com/java/maven/profile.html
能够认为,网站就是一个绑定了域名的文件夹,该文件夹中能够蕴含子文件夹以及各种各样的文件,这些文件都能够通过域名来拜访。当咱们在地址栏中输出一个 URL 时,它其实曾经展现了服务器上的目录构造,例如 http://deom/linux/ln.html,就示意拜访 linux 目录下的 ln.html 文件。
当然,你也能够不绑定域名,只有在服务器上设置某个文件夹提供 Web 服务,用户也能够通过 IP 地址来拜访。
互联网上的所有服务器都是通过 IP 地址来定位的,域名只是 IP 地址的一种助记符,帮忙用户记住网站的链接以及品牌。应用域名拜访网站时,浏览器会先找到域名对应的 IP 地址,而后再通过 IP 地址申请服务器上的文件;这个过程叫做域名解析,是通过 DNS 服务器来实现的。
网站的作用是把计算机上的数据(文章、博客、图片、视频等)分享进来,让他人也能获取到有用的信息;同时,他人也能公布本人的数据(公布文章、留言、上传视频等),让网站的内容更加丰盛。网站和用户之间是一个相互促进的关系,网站用户越多,积攒的数据也就越多,而后就会吸引更多用户持续分享数据,这是一个良性循环,是一个衰弱的生态。
网站是互联网的基石,它让用户获取信息,也让用户分享信息,所以当初的互联网能力丰富多彩。
网站能够认为是放在服务器上的一个文件夹,它蕴含了很多网页文件以及很多子文件夹。用户拜访网站就是读取文件的内容,用户分享数据就是批改文件的内容,或者删除现有的文件,或者创立一个新的文件。
好了,话不多说,咱们间接进入正题吧
如果是 HTML 初学者,倡议在应用图片前新建一个寄存图片的文件夹,不便前期图片的整顿。这是一个良好的习惯。
开发过程中,常常应用图像来丑化页面,图像曾经成为大多数网站的一个重要组成部分。都说一图胜千言,好的图像有助于制作出精美的网站,从而与那些外观平平的网站区别开来。在 HTML 中,应用 < img> 标签来插入图像,其语法格局如下:
< img src=“url”/>
< img> 是图片 image 的简称,它只蕴含属性,没有闭和标签。src 是它的必选属性,用来示意图片的门路起源。上面,咱们来详细分析一下 标签的 src 属性。
HTML 标签(插入图片)
开发过程中,常常应用图像来丑化页面,图像曾经成为大多数网站的一个重要组成部分。都说一图胜千言,好的图像有助于制作出精美的网站,从而与那些外观平平的网站区别开来。在 HTML 中,应用 < img> 标签来插入图像,其语法格局如下:
< img src=“url”/>
< img> 是图片 image 的简称,它只蕴含属性,没有闭和标签。src 是它的必选属性,用来示意图片的门路起源。上面,咱们来详细分析一下 < img> 标签的 src 属性。
1. src 属性
src 是 source 的简称,用来申明图像文件的起源,也就是定义图片的援用地址。图片能够是 .jpg
、.png
、.gif
等多种格局,援用地址能够是绝对 url,也能够是相对 url。上面咱们来看两个示例。
- 援用网络图片
能够这样援用网络图片:
`< img src="http://c.biancheng.net/cpp/templets/new/images/logo.jpg?v=3.994"/>`
* 1
运行后果如下图所示:
- 援用本地图片
如果在我的项目的以后文件中,想要引入上一层 image 目录下的一张图片 logo.jpg,能够这样援用:
`< img src="../image/logo.jpg"/>`
* 1
运行后果如下图所示:
此处 ../
能够进入上一层目录,而后进入 image 文件夹,最初找到 img.jpg。
提醒:图片的名称尽量不要应用中文,否则即便门路正确,浏览器也可能无奈辨认,从而显示不出图片。
1.2 其余属性
后面讲述了 < img> 标签的必选属性 src,接下来再看一下它的可选属性。< img> 标签罕用的可选属性有 alt
、title
、width
以及 height
等,咱们来别离看一下:
- alt 属性用来对图像进行文本阐明。个别状况下,当浏览器因某种原因无奈载入图像时,就会显示这段文本。尽管 alt 属性值能够为空,但还是倡议读者给 alt 属性设置合乎图像信息的文本;
- title 用来设置鼠标挪动到图片上的提醒文字。它的值个别与 alt 的值雷同,最大的区别是显示的前提条件不同,alt 属性是图片加载失败后显示,而 title 属性则是图片加载胜利后鼠标放到它下面才显示;
- width 用来设置图片的宽度,应用时不须要加单位,默认是像素(px);
- height 用来设置图片的高度,和 width 一样在应用时不须要加单位,默认是像素(px)。
具体应用办法如下:
`< img src="http://c.biancheng.net/cpp/templets/new/images/logo.jpg?v=3.994" width="200" height="200" title="这是 C 语言中文网的 logo" alt="这是 C 语言中文网的 logo" />`
* 1
在浏览器中运行后果如下图所示:
在这段代码中,首先引入了文件的门路,紧接着对图片的宽高进行了设置,均是 200px;其次又设置了 title 属性,当鼠标挪动到图片上时,会显示 title 的内容;最初设置了 alt,当图片加载不进去会显示 alt 的内容。
倡议读者为页面上的图像都加上 alt 属性,这样不仅有助于更好的显示信息,而且对于那些应用屏幕浏览软件(存在视觉阻碍的人应用的一类软件)的人来说帮忙很大。
1.3. 总结
从下面的讲述中咱们能够播种以下几点内容:
- src 示意图片的援用地址,这个地址能够是绝对 url,也能够是相对 url;
- alt 示意图片加载失败时显示的内容;
- title 示意鼠标挪动到图片上时显示的文字;
- width 示意图片的宽,默认单位是像素(px);
- height 示意图片的高,默认单位也是像素(px)。
HTML < a> 标签(超链接)
在 HTML 中,咱们应用 < a> 标签来示意超链接。
超链接(Hyperlink)是网页中最常见的元素之一,整个互联网都是基于超链接而构建的。每个网站都由泛滥的网页组成,超链接使得网页之间不再独立,它就像一根线,把网页连贯在一起,造成一个网状结构。互联网之所以可能称之为“网”,就是因为有超链接的存在。
< a> 标签的语法格局如下:
< a href=“url”target=“opentype”> 链接文本
其中,href 属性用来指明要跳转到的 url,target 属性用来指明新页面的打开方式,链接文本须要写在 < a> 和 < /a> 之间。
例如,链接到 C 语言中文网首页能够这样写:
`<a href="http://c.biancheng.net" target="_blank">C 语言中文网 </a>:`
* 1
链接到 C 语言中文网外面的一个 HTML 页面能够这样写:
`<a href="http://c.biancheng.net/view/7410.html" target="_blank"> 网站到底是什么 </a>`
* 1
上面,咱们来详细分析一下 < a> 标签的各个属性。
1. href 属性
href 属性指定链接的指标,也就是要跳转到什么地位。href 能够有多种形式,例如:
- href 能够指向一个网页(.html、.php、.jsp、.asp 等格局),这也是最常见的模式,例如 href=“http://c.biancheng.net/view/1…”;
- href 能够指向图片(.jpg、.gif、.png 等格局)、音频(.mp3、.wav 等格局)、视频(.mp4、.mkv 格局)等媒体文件,例如 href=”/uploads/allimg/181221/134I32557-0.jpg”;
- href 能够指向压缩文件(.zip、.rar 等格局)、可执行程序(.exe)等,一些下载网站的链接就能够写成这种模式,例如 href=”./…/uploads/data_package/ComputerFoundation.zip”;
- href 甚至还能够指向本机的文件,只是很少这样应用,例如 href=“D:/Program Files/360/360safe/360Safe.exe”。
你看,href 实质上就是指向一个文件,这个文件简直能够是任意格局的。如果浏览器反对这种格局,那么它就能够在浏览器上显示,比方常见的图片、音频、视频等,如果浏览器不反对这种格局,那么就提醒用户下载。
另外,href 应用的门路能够是绝对路径,也能够是相对路径。绝对路径往往以域名为终点,例如 http://www.baidu.com/view/171…;相对路径往往以以后文件或者以后域名为终点,例如 ./…/uploads/data_package/ComputerFoundation.zip。
2. target 属性
在创立网页时,默认状况下,超链接在以后的浏览器窗口关上,然而咱们能够应用 target 属性来扭转指标窗口的打开方式。常见的打开方式如下表所示:
属性值
阐明
_self
默认,在现有的窗口中关上新页面,原窗口将被笼罩。
_blank
在新的窗口中关上新页面。
_parent
在以后框架的上一层关上新页面。
_top
在顶层框架中关上新页面。
绝大部分状况下,target 属性要么不写,放弃默认的 _self,要么把它的值设置为 _blank,在新的窗口中关上链接。例如:
`<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<title>a 标签 </title></head>
<body>
<a href="http://c.biancheng.net/" target="_blank">C 语言中文网(新窗口关上)</a>
<a href="http://c.biancheng.net/">C 语言中文网(现有窗口关上)</a>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
运行后果如下图所示:
这两种成果在浏览器预览中看不出来区别,然而当咱们点击一下超链接,会发现它们的窗口打开方式是有区别的,请读者本人试一试。
3. < a> 标签的默认款式
1) 鼠标款式
当鼠标移入网页上的某个超链接时,其款式会变为一只小手;当鼠标移出超链接区域时,款式会再次回到箭头形态。
2) 色彩及下划线
任何 HTML 元素都有默认的款式,< a> 标签也不例外。在浏览器下,超链接被点击后色彩会产生扭转:超链接被点击之前是蓝色的,点击之后会变成紫色。
超链接默认是带下划线的,下划线色彩和文本色彩保持一致。浏览器依据历史记录来判断超链接是否被点击过,如果 < a> 标签的 href 属性和历史记录中的某条 URL 重合,那就阐明该链接被点击了,否则是没有被点击的。所以,清空浏览器的历史记录会让超链接的色彩再次变回蓝色。
URL 构造解析
1. URL 的形成
URL 恪守一种规范的语法,它由协定、主机名、域名、端口、门路、以及文件名这六个局部形成,其中端口能够省略。具体语法规定如下:
scheme://host.domain:port/path/filename
在上述语法规定中,scheme 示意协定,host 示意主机名,domain 示意域名,port 示意端口(能够省略),path 示意文件的门路,filename 示意文件名称。接下来咱们具体看一下这几局部到底是如何应用的。
1) 协定
协定用来指明客户端和服务器之间通信的类型。咱们常常用到的协定有四种:http、https、ftp 以及 file。这四种协定的应用场景如下表所示:
协定应用场景
协定
应用场景
http(HyperText Transfer Protocol)
超文本传输协定。http 协定能够将编码为超文本的数据从一台计算机传送到另一台计算机,不进行加密。
https(HyperText Transfer Protocol over SecureSocket Layer)
平安超文本传输协定。以平安为指标的 http 通道,平安网页,加密所有信息替换。
ftp(File Transfer Protocol)
文件传输协定。
file
本机上的文件。
2 主机名
主机名能够向浏览器提供文件站点的名称。www 是咱们常见的主机名,例如百度的网址 https://www.baidu.com/、淘宝的网址 https://www.taobao.com/ 应用的都是 www 的主机名。除此之外,还有很多网站应用的是其它主机名。例如 C 语言中文网的网址 http://c.biancheng.net/ 的主机名是 c,网易云音乐的网址 https://music.163.com/ 的主机名是 music。
3 域名
域名和主机名一起应用,被用来定义服务器的地址。Web 服务器恪守数字网际协议(Internet Protocol,IP),每一台连贯到因特网的计算机都有一个固定的 IP 地址。域名即 IP 地址的别名,因为个别的 IP 地址都是长串的数字,为了不便记忆所以应用域名进行代替。简略来说,没有域名(IP)咱们就不能上网。
4 端口
端口用来定义主机上的端口号。如果不写,http 的默认端口号是 80,https 的默认端口号是 443,ftp 的默认端口号是 21。还是拿 C 语言中文网举例说明,不管用户输出 http://c.biancheng.net/ 还是 http://c.biancheng.net/:80,浏览器都会解析为 C 语言中文网的链接。
5 门路
门路指定服务器上文件的所在位置。就像咱们本人在计算机上保留文件时所指定的文件夹一样,Web 服务器上的文件也有可能是寄存在子目录(就是文件夹中的子文件夹)中的。如果是这样,门路中的相邻文件夹须要应用斜线(/)隔开。例如 http://www.baidu.com/view/vie… 这个网址,它的门路就是 /view/views。
6 文件名
文件名用来定义文档或资源的名称。和门路相似,门路指的是文件夹,而它指的是文件夹中的文件。网页文件的后缀有很多种,比方 .html
、.php
、.jsp
、.asp
等。
协定须要与 URL 的其它局部用 ://
隔开。百度的网址前面的 .com
以及 C 语言中文网的 .net
又称作域后缀(扩展名),用于表明该主机所在的域的类型。
HTML 块级元素及行内元素
在 HTML 中,标签(tag)通常又被称作元素(element)。例如 < a> 标签又叫做 < a> 元素,< p> 标签也叫作 < p> 元素。
HTML 元素依据其表现形式能够分为 2 种:
- 块级元素
- 行内元素
任何 HTML 元素都属于这两者中的任意一种。
提醒:块级元素和行内元素的概念极其重要,同时也是学习 CSS 的基础知识之一,请读者不要疏忽。
1. 块级元素
块级元素(block element)在浏览器中占据整行,并排挤其它元素与其位于同一行。也就是说,块级元素的宽度是 100%。常见的块级元素如下表:
块级元素
阐明
div
最典型的块元素
p
示意段落
h1-h6
示意 1 - 6 级题目(默认加粗)
br
示意换行
ol
有序列表
ul
无序列表
2. 行内元素
行内元素又称内联元素(inline block)。在浏览器中能够与其它行内元素共占一行,只有当多个元素的总宽度大于浏览器的宽度时,才会换行显示。常见的行内元素如下表:
行内元素
行内元素
阐明
a
超链接
span
罕用行级
strong
加粗,强调
b
加粗,不强调
em
斜体,强调
i
斜体,不强调
img
图片
input
输入框
select
下拉列表
1 实例演示
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> 块元素与行内元素 </title>
</head>
<body>
<div>div 标签(块级标签)</div>
<p>p 标签(块级标签)</p>
<span>span 标签(行内标签)</span>
<a href="#">a 标签(行内标签)</a>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
在浏览器中运行成果如下图:
[外链图片转存失败, 源站可能有防盗链机制, 倡议将图片保留下来间接上传(img-Yr6SFHBV-1610100667565)(http://c.biancheng.net/upload…]
通过运行后果能够发现,< div> 标签和 < p> 标签别离独占一行,因为它们是块级元素;而 < span> 标签和 < a> 标签在同一行中显示,因为它们是行内元素。
留神,这里咱们说的独占一行是指元素在浏览器中的运行成果,并不是在编辑器中独占一行。在编辑器中,不论怎么书写代码,都不会影响它在浏览器中的运行成果。
3. 元素的嵌套
HTML 中的各个元素之间是能够相互嵌套的,例如:
- 块元素能够嵌套块元素
- 块元素能够嵌套行内元素
- 行内元素能够嵌套行内元素
- 行内元素能够嵌套块元素
值得注意的是咱们不倡议在行内元素中嵌套块元素,这样不仅不合乎开发标准,还会导致行内元素也独占一行。
上面来看一段元素之间相互嵌套的代码:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> 元素间的嵌套 </title>
</head>
<body>
<!-- 块级元素嵌套块级元素 -->
<div>
<p>p 标签(块级元素)</p>
<div>div 标签(块级元素)</div>
</div>
<!-- 块级元素嵌套行内元素 -->
<div>
<span>span 标签(行内元素)</span>
</div>
<!-- 行内元素嵌套 -->
<span>
<span>span 标签(行内元素)</span>
<a href="#">a 标签(行内元素)</a>
</span>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
* 23
* 24
浏览器运行成果如下图:
4. 总结
- 块级元素的宽度是 100%,在浏览器中默认独占一行。
- 行内元素在浏览器中默认与其它行内元素共占一行。只有当多个行内元素的总宽度大于浏览器的宽度时,才会换行显示。
- 块级元素外部能够嵌套块级元素或行内元素。
- 倡议行内元素外面只嵌套行内元素。
HTML 有序列表 + 无序列表 + 定义列表
在网站开发过程中,咱们常常会应用到列表(list)。列表能够将若干条相干的内容进行整顿,让内容看起来更加有条理。例如,C 语言中文网首页的「举荐浏览」、「精品教程」以及「最近更新」中的内容都应用了列表进行排列。接下来咱们看一下列表的具体应用办法。
HTML 为咱们提供了 3 种不同的列表:
- 有序列表
- 无序列表
- 定义列表
1. 有序列表
在 HTML 中,< ol> 标签用来示意有序列表。有序列表之间的内容有先后顺序之分,例如菜谱中的一系列步骤,这些步骤须要按程序实现,这时就能够应用有序列表。
咱们来看一个简略的实例:
`<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<title>HTML 有序列表 </title></head>
<body>
<!-- 有序列表 -->
<ol>
<li> 先将水煮沸 </li>
<li> 退出一勺米 </li>
<li> 搅拌平均 </li>
</ol>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
在浏览器中运行成果如图所示:
上述代码中应用了 < ol>、< li> 标签,接下来咱们来别离看一下这两个标签:
- < ol> 是 order list 的简称,示意有序列表。它能够为列表的每一项进行编号,默认从数字 1 开始;
- < li> 是 list item 的简称,示意列表的每一项。列表中还能够蕴含文本或其它元素,甚至是新的列表。< ol> 中有多少个 < li> 就示意有多少条内容。
提醒:在应用 < ol> 时,它个别和 < li> 配合应用,不会独自呈现。而且不倡议在 < ol> 中间接应用除 < li> 之外的其余标签。
2. 无序列表
在 HTML 中,咱们应用
- 标签来示意无序列表。无序列表和有序列表相似,都是应用
- 标签来示意列表的每一项,然而无序列表之间的内容是没有程序的。例如,早饭的品种不须要表明程序,这时就能够应用无序列表。
实例:
`<!DOCTYPE html><html lang="en"><head>
<meta charset="UTF-8">
<title>HTML 无序列表 </title></head>
<body>
<!-- 无序列表 -->
<ul>
<li> 鸡蛋 </li>
<li> 牛奶 </li>
<li> 面包 </li>
</ul>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
浏览器运行后果如图所示:
上述代码中应用了 < ul>、< li> 标签,那么咱们来别离看一下这两个标签又是什么含意呢?
- < ul> 是 unordered list 的简称,示意无序列表。默认状况下,无序列表的每一项都应用
●
符号示意; - < li> 同 < ol> 中的 < li> 一样,它也示意列表中的每一项。
提醒:< ul> 个别和 < li> 配合应用,不会独自呈现。而且不倡议在 < ul> 中间接应用除 < li> 之外的其余标签。
3. 定义列表
在 HTML 中,
标签用于创立定义列表。它是由定义题目和定义形容两局部组成的,而且至多要蕴含一条定义题目或定义形容。个别状况下,当要展现的列表模式包含题目和形容两局部时,应用定义列表再适合不过了。
具体语法格局如下:
< dl>
< dt> 定义题目 < dt>
< dd> 定义形容 < dd>
< dd> 定义形容 < dd>
< dd> 定义形容 < dd>
< /dl>
上述代码中应用了 < dl>、< dt> 及 < dd> 标签,咱们来别离看一下这三个标签:
- < dl> 是 definition list 的简称,示意定义列表;
- < dt> 是 definition term 的简称,示意定义术语,也就是咱们常说的定义题目。个别状况下,每个定义题目都会对应若干条定义形容;
- < dd> 是 definition description 的简称,示意定义形容。定义形容个别是对定义题目的解释阐明。
请读者留神此处的 < dt>、< dd> 是同级标签,都是 < dl> 的子标签。
具体应用场景如下示例:
`<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<title>HTML 定义列表 </title>
</head>
<body>
<!-- 定义列表 -->
<dl>
<dt>Web 前端简介 </dt>
<dd>HTML(超文本标记语言)</dd>
<dd>CSS(层叠样式表)</dd>
<dd>JavaScript(脚本语言)</dd>
</dl>
<dl>
<dt>C 语言中文网 </dt>
<dd>HTML 教程 </dd>
<dd>CSS 教程 </dd>
<dd>JavaScript 教程 </dd>
</dl>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
浏览器运行成果如下图:
通过运行后果能够发现,< dt>、< dd> 标签的分割与区别:
- 都在浏览器中独占一行,属于块级元素;
- < dt> 充当了列表的题目,多个 < dt> 之间能够没有关系;
- 个别状况下,< dd> 标签两头的内容是对 < dt> 的形容。
提醒:< dl> 个别与 < dt> 或 < dd> 配合应用,不会独自呈现。不倡议在 < dl> 中间接应用除 < dt>、< dd> 之外的其余标签。
4. 总结
列表分类
阐明
有序列表
< ol> 示意有序列表,< li> 示意列表中的每一项,默认应用阿拉伯数字编号。
无序列表
< ul> 示意无序列表,配合 < li> 实现,默认应用 ●
符号显示。
定义列表
< dl> 与 < dt>、< dd> 配合实现,< dt> 充当列表的题目,< dd> 是对 < dt> 的解释阐明。
绝对路径和相对路径
咱们在应用 HTML 中的 < a> 标签、< img> 标签、< link> 标签以及 < script> 标签时往往会波及到门路。例如 < a> 标签,如果咱们在写门路时,应用了谬误的门路,就会导致跳转失败,为了防止这种状况,咱们须要学习一下 HTML 的门路。在 HTML 中,门路具体分为绝对路径和相对路径。
提醒:< img>、< link>、< script> 标签咱们会面陆续讲到。其中,< img> 标签用来引入图片,< link> 标签用来引入 CSS 款式,< script> 标签用来引入 js 文件。此处只需理解即可。
1. 绝对路径
绝对路径分为本地绝对路径和网络绝对路径两种。本地绝对路径个别指从盘符开始,到文件名称完结;网络绝对路径指从网站的域名开始,到文件名完结,在应用时须要加上协定。绝对路径之所以称为相对,是指当所有页面援用同一个文件时,应用的门路都是一样的。
示例如下:
①D:/Hbulider/HBuilder/tools/nview/index.js
②C:/Users/admin/Desktop/ C 语言中文网 /url/url.html
③http://www.baidu.com/view/741…
④http://www.baidu.com:80/view/7410.html
⑤http://www.baidu.com
咱们来具体分析一下:
- ① 和 ② 示意本地绝对路径,因为它们是从盘符开始的;
- ③ ④ ⑤示意网络绝对路径,其中,③ 和 ④ 示意的地址是雷同的(因为 http 默认端口号是 80,而且能够省略),相似于 ⑤ 这种省略门路和文件名的 url 属于特例,浏览器在解析时会主动解析我的项目里的 index.html 文件。
2. 相对路径
相对路径与绝对路径相似,不同的是在形容目录或文件门路时,所采纳的参考点不同。绝对路径以域名或盘符为参考点,到文件名称完结;相对路径以以后文件地位为参考点,到文件名称完结。
接下来,咱们看一个示例。假如读者现有的我的项目目录如下图所示:
目前有一个需要,在 index.html 页面中有一个 < a> 标签,点击它要跳转到 login.html,那么咱们能够怎么实现呢?
毫无疑问,能够应用下面讲过的绝对路径 < a href=“http://demo/html/login.html”>< /a> 来跳转到 login.html;此处咱们还能够应用相对路径实现。具体有以下几种形式:
- < a href=”./html/login.html”> 跳转到 login.html
- < a href=“html/login.html”> 跳转到 login.html
- < a href=”…/html/login.html”> 跳转到 login.html
在上述 3 种形式中,咱们应用了 ./ 以及 …/,接下来看一下他们别离代表什么呢?
- ./ 示意同级目录;
- …/ 示意上一级目录,…/…/ 示意上两级目录,以此类推。
其中,./
能够省略不写,也就是说 ./html/login.html
与html/login.html
被浏览器解析为同一个门路。
相对路径的写法能够有多种,咱们只须要把 ./
以及 ../
代表的含意搞清楚,就能够应答所有的相对路径。
HTML < table> 标签(表格)
在 HTML 中,咱们应用 < table> 标签来定义表格。HTML 中的表格和 Excel 中的表格是相似的,都包含行、列、单元格、表头等元素。然而 HTML 表格在性能方面远没有 Excel 表格弱小,HTML 表格不反对排序、求和、方差等数学计算,它个别用来展现数据。
在学习表格之前,咱们无妨先来看一段简略的 HTML 代码:
`<table border="1">
<tr>
<th> 名称 </th>
<th> 官网 </th>
<th> 性质 </th>
</tr>
<tr>
<td>C 语言中文网 </td>
<td>http://c.biancheng.net/</td>
<td> 教育 </td>
</tr>
<tr>
<td> 百度 </td>
<td>http://www.baidu.com/</td>
<td> 搜寻 </td>
</tr>
<tr>
<td> 当当 </td>
<td>http://www.dangdang.com/</td>
<td> 图书 </td>
</tr>
</table>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
运行成果如下图:
这是一个 4 行 3 列的表格。第一行为表头,其余三行为内容。
在上述代码中,咱们应用了 < table>、< tr>、< td> 及 < th> 四个标签:
- < table> 示意表格,表格的所有内容须要写在 < table> 和 < /table> 之间。
- < tr> 是 table row 的简称,示意表格的行。表格中有多少个 < tr> 标签就示意有多少行数据。
- < td> 是 table datacell 的简称,示意表格的单元格,这才是真正寄存表格数据的标签。单元格的数据能够是文本、图片、列表、段落、表单、水平线、表格等多种形式。
- < th> 是 table heading 的简称,示意表格的表头。< th> 其实是 < td> 单元格的一种变体,实质上还是一种单元格。< th> 个别位于第一行,充当每一列的题目。大多数的浏览器会把表头显示为粗体居中的文本。
默认状况下,表格是没有边框的。然而咱们能够应用 < table> 标签中的 border 属性来设置表格的边框宽度,单位是像素(px)。本例中咱们将表格的边框宽度设置为 1px。留神,px 是默认的单位,不必显式指明。
1. 表格的边框合并:
仔细的读者可能曾经发现了,网页中常见的表格款式大多为单层边框,上例中展现的表格为双层边框。为了防止这种状况,咱们能够利用 CSS 中的 border-collapse 属性来设置表格的边框。border-collapse 是“边框塌陷”的意思,当属性值为 collapse 时,能够使表格的双边框变为单边框。
示例代码如下:
`<table border="1" >
<tr>
<th> 名称 </th>
<th> 官网 </th>
<th> 性质 </th>
</tr>
<tr>
<td>C 语言中文网 </td>
<td>http://c.biancheng.net/</td>
<td> 教育 </td>
</tr>
<tr>
<td> 百度 </td>
<td>http://www.baidu.com/</td>
<td> 搜寻 </td>
</tr>
<tr>
<td> 当当 </td>
<td>http://www.dangdang.com/</td>
<td> 图书 </td>
</tr>
</table>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
运行成果如下图所示:
2. 表格的题目
HTML 容许应用 < caption> 标签来为表格设置题目,题目用来形容表格的内容。
咱们常见的表格个别都有题目,表格的题目应用 < caption> 标签来示意。默认状况下,表格的题目位于整个表格的第一行并且居中显示。一个表格只能有一个题目,也就是说 < table> 标签中只能有一个 < caption> 标签。
请看上面的例子:
`<table border="1" >
<caption> 这是表格的题目 </caption>
<tr>
<th> 名称 </th>
<th> 官网 </th>
<th> 性质 </th>
</tr>
<tr>
<td>C 语言中文网 </td>
<td>http://c.biancheng.net/</td>
<td> 教育 </td>
</tr>
<tr>
<td></td>
<td>http://www.baidu.com/</td>
<td> 搜寻 </td>
</tr>
<tr>
<td> 当当 </td>
<td>http://www.dangdang.com/</td>
<td> 图书 </td>
</tr>
</table>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
* 23
浏览器运行后果如图:
3. 单元格的合并
和 Excel 相似,HTML 也反对单元格的合并,包含跨行合并和跨列合并两种。
- rowspan:示意跨行合并。在 HTML 代码中,容许咱们应用 rowspan 个性来表明单元格所要逾越的行数。
- colspan:示意跨列合并。同样的,在 HTML 中,容许咱们应用 colspan 个性来表明单元格所要逾越的列数。
具体格局如下:
< td rowspan=“n”> 单元格内容 < /td>
< td colspan=“n”> 单元格内容 < /td>
n 是一个整数,示意要合并的行数或者列数。
此处需注意,不论是 rowspan 还是 colspan 都是 < td> 标签的属性。
上面的例子中,咱们将表格第 1 列的第 3、4 行单元格合并(跨行合并),将第 4 行的第 2、3 列合并(跨列合并)。具体代码如下:
`<table border="1" >
<tr>
<th> 名称 </th>
<th> 官网 </th>
<th> 性质 </th>
</tr>
<tr>
<td>C 语言中文网 </td>
<td>http://c.biancheng.net/</td>
<td> 教育 </td>
</tr>
<tr>
<td rowspan="2"> 百度 </td>
<td>http://www.baidu.com/</td>
<td> 搜寻 </td>
</tr>
<tr>
<td colspan="2">http://www.dangdang.com/</td>
</tr>
</table>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
运行成果如图:
通过运行后果能够发现:
- rowspan 属性示意向下合并单元格,colspan 属性示意向右合并单元格。
- 每次合并 n 个单元格都要少写 n-1 个 < td> 标签。
提醒:即便一个单元格中没有任何内容,咱们仍需应用 < td> 或 < th> 元素来示意一个空单元格的存在,倡议在 < td> 或 < th> 中退出(空格),否则低版本的 IE 可能无奈显示出这个单元格的边框。
HTML 锚点链接
锚点链接是超链接中的一种。锚点的妙处之一在于,你能够应用它链接到文档中的某个特定地位。例如,有些网页内容较多,页面过长,用户须要不停的应用浏览器上的滚动条来查看文档中的内容。这时为了加强用户体验,能够在网页中插入锚点链接。
锚点链接的具体应用场景有 2 种:
- 跳转到以后页面的指定地位
- 跳转到其余页面的指定地位
1. 跳转到以后页面的指定地位
在浏览网页时,用户通过点击锚点链接就能够跳转到以后页面的指定地位。这个地位能够是任意的,例如咱们常常会看到网页中有一个回到顶部的性能,点击它,能够迅速回到网页的顶部,应用的就是锚点链接。上面咱们来看一下用代码如何实现:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> 锚点链接 </title>
</head>
<body>
<p id="content"></p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<a href="#content"> 回到顶部 </a>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
* 23
* 24
* 25
* 26
* 27
* 28
* 29
在上述代码中,应用了两步来实现锚点的具体操作:
- 在要跳转到的地位所在的标签中增加了
id
属性,并为其赋值; - 应用 < a> 标签设置锚点,href 属性值为
#
+id
属性值。
运行后果如下图所示:
通过比拟地址栏的变动能够发现,当点击锚点链接后,页面回到了 #content
的地位。这样写尽管也能够实现迅速回到顶部性能,但在理论开发过程中有更加简便的办法。具体代码如下:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> 锚点链接 </title>
</head>
<body>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<p> 这是页面内容 </p>
<a href="#top"> 回到顶部 </a>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
* 23
* 24
* 25
* 26
* 27
* 28
点击锚点链接后,运行后果如下图所示:
通过滚动条能够发现,页面回到了顶部。咱们来察看此时的地址栏,地址栏中为 #top
,其中#
示意地位信息,网页的顶端默认是#top
,所以如果是跳转到浏览器的顶端,不须要写锚点的第一步操作,,也就是说不须要为标签设置 id 属性。
留神:href 属性中的 top 也能够省略,不影响失常应用。
2. 跳转到其余页面的指定地位
应用锚点链接,也能够跳转到其余页面的指定地位。与跳转到以后页面的指定地位相比,它须要在 #
前加上要跳转到的页面的门路。
示例如下:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index 页面 </title>
</head>
<body>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<p>index 页面 </p>
<h2 id="index"> 这是 h2 题目 </h2>
</body>
</html>
纯文本复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> 锚点链接 </title>
</head>
<body>
<a href="./index.html#index"> 跳转到 index 页面 </a>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
* 18
* 19
* 20
* 21
* 22
* 23
* 24
* 25
* 26
* 27
* 28
* 29
* 30
* 31
* 32
* 33
运行后果如下图所示:
在 < a> 标签中,href 属性指向了 index.html 页面中 id 为 index 的标签。点击后,产生相应的跳转。
HTML 的根本构造
在学习 HTML 的根本构造之前,咱们先来看一段简略的代码:
`<!DOCTYPE html>
<html>
<head>
<title>Document</title>
</head>
<body>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
这些由 <
(左尖角号)、内容以及>
(右尖角号)组成的叫做标签(tag),三者缺一不可。在 HTML 中,应用<>
突围标签的目标是不便将它们与一般文本进行辨别。
上述代码形容的是 HTML 的根本构造,次要应用了 <!DOCTYPE>、< html>、< head>、< title> 以及 < body> 等标签。咱们来别离看一下:
- 是 Document Type Declaration 的简称,用来申明文档,也就是告知 web 浏览器以后页面应用了哪种 HTML 版本编写代码,此处应用的是 HTML 5 的版本。申明文档必不可少,而且必须位于 HTML 文档的第一行;
- < html> 示意页面编写的代码都是 HTML 代码。它是成对呈现的标签,直到 </ html> 完结。除了申明文档外的所有代码都必须写在 < html>< /html> 两头;
- < head> 示意页面的 ” 头部 ”,页面的 title(题目)个别写在 < head></ head> 两头;
- < title> 示意页面的题目;
- < body> 示意页面的 ” 身材 ”,页面中的绝大部分内容都能够写在 < body></ body> 之间。
HTML 中的标签依据闭合状态能够分为 2 种,单闭合标签和自闭和标签。接下来看一下它们之间的区别。
1. 单闭合标签
`HTML 根本构造中的 <html></html>、<head></head>、<title></title> 以及 <body></body> 标签都属于单闭合标签。其中 <html>、<head>、<title> 以及 <body> 标签叫做起始标签,</html>、</head>、</title> 以及 </body> 标签叫做完结标签。由此咱们能够看出,单闭合标签是指起始标签和完结标签同时存在的标签。`
* 1
2. 自闭和标签
自闭和标签与单闭合标签的区别在于,它的完结标签能够应用/
(结尾斜线)代替,间接写在起始标签的尾部。例如图像标签 能够写成,换行标签 < br> 能够写成 < br />。在前面的讲述中咱们会解说 < img /> 标签以及 < br />,这里只须要理解。
HTML < head> 标签
上一节咱们介绍了 HTML 的根本构造,在 HTML 的根本构造中,应用 < head> 标签来定义头部的内容。接下来咱们一起看一下 < head> 标签外部又能够放哪些内容(或标签)呢?
请读者先看一段代码:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="expires" content="31 Dec 2090">
<title> 文档的题目 </title>
<link rel="stylesheet" href="url">
<style></style>
<script src="url"></script>
</head>
<body>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
从这段代码中咱们能够看出,< meta>、< title>、< link>、< style> 以及 < script> 标签是能够放在 < head> 标签外部的,咱们来别离解释一下各个标签的含意。
标签会在下一节进行具体解说。
1. < title> 标签
< title> 标签用来示意文档的题目,咱们通过一段简略的代码来加以阐明:
`<!DOCTYPE html><html lang="en">
<head>
<title> 文档的题目 </title>
</head>
<body> </body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
运行成果如下图所示:
2. < link> 标签
在 HTML 中,容许应用 < link> 标签配合 href 属性来援用内部 CSS(Casecading Style Sheets)文件,其中 href 属性值为内部 CSS 文件的门路。在 CSS 章节中会具体进行解说,这里不做过多解释。
3. < style> 标签
<style> 标签同 <link> 标签相似,不同的是,<link> 标签是援用内部 CSS 款式文件,而 <style> 标签则是用来在外部编写 CSS 款式。
` 咱们倡议在 < head> 标签中应用 < link> 或 < style> 标签,而不是在其余标签中应用。当浏览器加载页面时,会自上而下执行代码。如果这两个标签写的凑近下方,在加载页面款式时,可能会有短暂的提早,影响用户应用成果。`
* 1
* 2
* 3
4. < script> 标签
`<script> 标签用来引入内部文件。与 <link> 标签不同的是,<script> 标签配合 src 属性引入内部 JavaScript 文件,而 <link> 标签则是配合 href 属性援用内部 CSS 文件。一个是应用 href,另一个是应用 src,那么它们到底有什么区别呢?`
* 1
* 2
* 3
* 4
5. href 与 src 的区别
- src 是 source 的简写,示意起源地址,用来引入地址中的内容。引入的内容会嵌入到以后标签所在的地位,所以浏览器在解析引入文件时,会进行对后续文档的解决,直到 src 的内容加载结束。
- href 是 Hypertext Reference 的简写,示意超文本援用。在应用 href 时,浏览器不会进行解析以后文件。因为 href 属性中的内容只是与以后页面有关联,而后当前页面对它进行一次援用。
提醒:以上讲到的标签不是必须写在 < head>< /head> 外面,只是 < head> 外面能够写入这些标签。例如,< script> 标签咱们就不倡议写在 < head>< /head> 外部,因为浏览器在解析 src 的门路时会停下对后续文档的解决,造成页面的短暂阻塞。
HTML < form> 标签(表单)
从传统意义上讲,” 表单 ” 这个词指代的是一个文档,这个文档中有一些空白区域可供用户填写信息。区别于传统意义上的表单,HTML 中的表单不仅能够供用户填写信息还能够为用户提供信息。
例如,C 语言中文网的登录 或注册 页面应用的就是表单。当用户填写了相应信息后,这些信息就会通过表单服务器被提交到网站的后盾,后盾管理人员能够通过一系列操作拿到用户输出的信息来判断是否容许用户登录或注册。接下来咱们看一下在网页中是如何应用表单的。
1. 简述 < form> 标签
HTML 中规定,应用 < form> 标签来示意表单。咱们都晓得表格的行、列及单元格须要放在 < table>< /table> 标签中,表单里的元素也不例外,同样须要放在 < form>< /form> 标签中。< form> 标签有几个罕用的属性,见下表:
罕用属性
属性值
阐明
action
url
用户点击提交按钮时,表单被提交到的地位。
method
get / post
表单提交时所应用的 http 申请办法,只能是 get 或 post 中的任意一种。
name
自定义
表单的名称,不能蕴含特殊字符和空格。
具体语法如下:
< form action=“url”method=“post”name=“formName”>
此处应用提交办法为post
,还能够设置为get
。咱们来看一下两者之间有什么区别:
- get:用户点击提交按钮后,提交的信息会被显示在页面的地址栏中。个别状况下,
get
提交形式中不倡议蕴含明码,因为明码被提交到地址栏,不平安。 - post:如果表单蕴含明码这种敏感信息,倡议应用
post
形式进行提交,这样数据会传送到后盾,不显示在地址栏中,绝对平安。
2. < form> 标签所有属性
以上咱们列举的是 < form> 标签的罕用属性,接下来看一下它的所有属性:
所有属性
形容
action
规定用户点击提交按钮时,表单被提交到的地位。
method
规定表单提交时所应用的 http 申请办法,只能是 get 或 post 中的任意一种。
name
定义表单的名称,不能蕴含特殊字符和空格。
accept-charset
规定在被提交表单中应用的字符集(默认:页面字符集)。
autocomplete
规定浏览器应该主动实现表单(默认:开启)。
enctype
规定被提交数据的编码(默认:url-encoded)。
novalidate
规定浏览器不验证表单。
target
规定 action 属性中地址的指标(默认:_self)。
如果某个文档要退出多个表单,< form> 标签不能够相互嵌套。
HTML < meta> 标签
标签内的信息不会显示在页面中,定义 标签的次要目标是因为它对机器是可读的。标签有很多性能,它能够定义文档中的关键字,也能够对文档进行形容,还能够配合本身的属性设置网页的过期工夫等等。当咱们定义了页面的关键字或者形容信息后,搜索引擎蜘蛛(也就是常说的网络爬虫)就能够利用它们来搜寻这个页面的信息。上面来看一下 标签的罕用属性:
`<meta> 标签内的信息不会显示在页面中,定义
<meta> 标签的次要目标是因为它对机器是可读的。<meta> 标签有很多性能,它能够定义文档中的关键字,也能够对文档进行形容,还能够配合本身的属性设置网页的过期工夫等等。当咱们定义了页面的关键字或者形容信息后,搜索引擎蜘蛛(也就是常说的网络爬虫)就能够利用它们来搜寻这个页面的信息。上面来看一下 <meta> 标签的罕用属性:`
* 1
* 2
* 3
* 4
-
name 属性
name 属性能够用来定义网页的关键字、形容、作者以及版权信息等等。咱们来看一下它的罕用属性值:
罕用属性值
阐明
keywords
用来定义网页的关键字。关键字能够是多个,之间须要用英文逗号 ,
隔开。
description
用来定义网页的形容。
author
用来定义网页的作者。
copyright
用来定义网页的版权信息。
当 name 属性规定好这些信息后,前面还需紧跟 content 属性设置具体的内容,这样才能够失效。具体应用语法如下:
`<meta name="keywords" content="<head> 标签形容">
<meta name="description" content="这篇文章次要对 <head> 标签进行具体解说">
<meta name="author" content="author">
<meta name="copyright" content="本站所有教程均为原创,版权所有,禁止转载。否则将查究法律责任。">`
* 1
* 2
* 3
* 4
-
charset 属性
charset 是 HTML 5 中的新属性,用来定义页面的编码格局。它的罕用属性值见下表:
罕用属性值
阐明
ISO-8859-1
示意网页的默认编码格局。
UTF-8
示意万国码,是目前最罕用的编码格局。
gb2312
示意国内汉字码,不蕴含繁体。
gbk
示意国家标准扩大版。减少了繁体,蕴含所有亚洲字符集。
具体代码如下所示:
`<head>
<meta charset="UTF-8">
<meta charset="gb2312">
<meta charset="ISO-8859-1">
<meta charset="gbk">
</head>`
* 1
* 2
* 3
* 4
* 5
* 6
以上为语法演示,在应用时依据需要,只应用其中一个即可。
-
http-equiv 属性
所有支流浏览器都反对 http-equiv 属性。它能够设置网页的过期工夫,主动刷新等,有以下几个罕用属性值:
罕用属性值
阐明
expires
设置网页的过期工夫。
refresh
设置网页主动刷新的工夫距离,单位是秒。
content-type
定义文件的类型,用来通知浏览器该以什么格局和编码来解析此文件。
咱们通过一段简略的代码来看一下如何应用:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="content-type" content="text/html">
<meta http-equiv="expires" content="Dec 20 2090">
<meta http-equiv="refresh" content="1000">
<title>Document</title>
</head>
<body>
</body>
</html>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
下面应用了 < meta> 的几个罕用属性,咱们来看一下:
- < meta charset=“UTF-8”> 设置了网页的编码格局为 utf-8
- < meta http-equiv=“content-type”content=“text/html”> 用来通知浏览器本网页编写的是 HTML 代码,须要用 HTML 的格局来进行解析。在上面会附上 content-type 罕用文件类型值解说;
- < meta http-equiv=“expires”content=“Dec 20 2090”> 定义网页于 2090 年 12 月 20 日过期;
- < meta http-equiv=“refresh”content=“1000”> 设置了页面每隔 1000 秒就会进行一次刷新。
设置了网页的编码格局为 utf-8;用来通知浏览器本网页编写的是 HTML 代码,须要用 HTML 的格局来进行解析。在上面会附上 content-type 罕用文件类型值解说;定义网页于 2090 年 12 月 20 日过期;设置了页面每隔 1000 秒就会进行一次刷新。
咱们能够看出,http-equiv 属性和 name 属性个别与 content 属性配合应用,有点相似固定搭配。以上只是 < meta> 标签罕用的属性,实际上它的属性远远不止这些,然而到目前为止,咱们只需会用下面讲过的这几个属性即可。
-
content-type 罕用属性值
罕用属性值
阐明
text/html
示意该文档是 HTML 格局的文档。
text/plain
示意该文档是纯文本格式的文档。
text/xml
示意该文档是 XML 格局的文档。
image/gif
示意该文档是 gif 图片格式的文档。
image/jpeg
示意该文档是 jpg 图片格式的文档。
image/png
示意该文档是 png 图片格式的文档。
HTML < input> 标签
在 HTML 中,< form> 标签外部有 4 种元素,别离是 input、option、select 以及 textarea 元素。本节咱们先来对 input 元素进行整体介绍。
- input 元素
很多表单元素都是由一个个的 input 元素组成的。它是自闭合标签,依据其 type 属性值的不同分为很多种,例如单行文本框、明码框、单选按钮、复选框、暗藏域、文件上传域、一般按钮、提交按钮以及重置按钮等。咱们先来看一下它的语法格局:
< input type=“表单类型”/>
接下来再看一下 type 罕用属性值:
罕用属性值
阐明
text
示意单行文本框
password
示意明码框
hidden
示意暗藏域
radio
示意单选按钮
checkbox
示意复选框
file
示意文件上传域
button
示意一般按钮
submit
示意带提交性能的按钮
reset
示意带重置性能的按钮
具体应用办法请看如下代码:
`<body>
<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
用户名:<input type="text" name="name"><br/>
明码:<input type="password" name="password"><br/>
性别:<input type="radio" name="sex" value="boy"> 男
<input type="radio" name="sex" value="girl"> 女 <br/>
喜好: 读书 <input type="checkbox" name="read" value="read">
跑步 <input type="checkbox" name="run" value="run">
逛街 <input type="checkbox" name="shopping" value="shopping">
看电影 <input type="checkbox" name="movie" value="movie"><br/>
暗藏域 <input type="hidden" name="hidden"><br/>
文件上传域 <input type="file" name="file" src="url"><br/>
<input type="submit" value="提交">
<input type="button" value="确定">
<input type="reset" value="重置">
</form>
</body>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
* 10
* 11
* 12
* 13
* 14
* 15
* 16
* 17
因为提交信息中含有明码字段,所以本次提交选用的是 ”post” 申请。运行后果如下图:
上述代码中应用了 type 属性中的 text、password、radio、checkbox、hidden、file、submit 以及 reset。咱们来别离看一下:
- text 示意惯例文本框,个别用来输出一些对用户可见的文字。
- password 示意明码框,输出的内容对用户不可见。
- radio 示意单选按钮。当 type 属性值为 radio 时,必须为其指定雷同的 name 属性值,否则实现不了单选的成果。
- checkbox 示意复选框,能够抉择多条内容。
- hidden 示意暗藏域,在页面中对于用户是不可见的。在表单中插入暗藏域能够不便收集或发送信息。当表单提交时,暗藏域的信息也被一起提交。
- file 示意上传文件域,src 属性示意文件的门路。
- submit 示意提交按钮,默认值为提交,也能够依据需要应用 value 属性进行设置。点击按钮后,表单中的值会提交到事后设定好的 url 中。
- button 示意一般按钮,没有提交性能。默认没有 value 值,须要手动设置,如果须要提交,倡议应用 submit 按钮。
- reset 示意重置按钮,同 submit 一样也有默认 value 值,默认为重置。点击按钮后,表单中填写的所有数据将被清空。
仔细的读者曾经发现,咱们为每一个字段都设置了 name 属性,那么为什么这么做呢,不这样做行不行?
2. name 属性
当用户向表单输出信息时,服务器须要晓得这个数据到底输出到了表单的哪个字段(控件)。例如登录页面,服务器须要晓得哪条数据是作为用户名输出的,哪条数据是作为明码输出的。因而,HTML 规定如果表单要想正确地被提交给表单处理器,必须为每个字段都设置 name 属性。如果未设置,默认不提交其数据信息。
3. disabled 属性
如果为 标签的某个控件设置了disabled="disabled"
,示意将禁用该控件,使其不能再取得焦点或被批改。被禁用后,它的值不会提交到后盾。如果是按钮被禁用,它的点击成果就会生效。
示例如下:
`<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
用户名:<input type="text" name="name" disabled="disabled" value="username"><br/>
明码:<input type="password" name="password" disabled="disabled"><br/>
</form>`
* 1
* 2
* 3
* 4
运行后果如图所示:
通过运行后果能够发现,事后设置好的 value 值能够失常显示,然而不能更改其内容。
- readonly 属性
readonly 属性示意只读。它有以下特点:
- 个别用在单行文本框和明码框中;
- 控件的值能够显示,但不能批改;
- 控件能够获取焦点;
- 如果有事后设置好的值,会一起提交到服务器。
HTML 单行文本框
在 HTML 中,把 < input> 标签的 type 属性设置为 text 能够示意单行文本框,又叫做惯例文本框。具体语法格局如下:
< input type=“text”/>
接下来咱们看一个具体的例子:
`<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
用户名:<input type="text" name="username" value="C 语言中文网"/>
</form>`
* 1
* 2
* 3
运行成果如图所示:
通过运行后果能够发现,文本框中的值为定义的 value 属性的值。当须要告知用户某一栏数据时,咱们通常这样写。如果只是想获取用户输出的数据,通常不设置 value 属性值,由用户自行输出。
留神:文本框的默认数据用户能够进行删除、批改,也能够让它持续放弃现有值,提交时会依照文本框现有内容进行提交。
当 < input> 标签作为单行文本框应用时,除了 value 属性还可能用到以下两个属性:
1 maxlength 属性
在 < form> 表单中,容许应用 maxlength 属性设置文本框中最多能够输出的字符数量(包含空格)。如果咱们要对年龄输入框设置,能够这样写:
`<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
年龄:<input type="text" name="age" maxlength="3" />
</form>`
* 1
* 2
* 3
咱们都晓得,年龄没有超过三位数的,所以咱们为年龄文本框设置最多能够输出 3 字符,当用户输出第 4 个字符时,不再容许输出。
2) size 属性
size 属性用来定义文本框可见的字符数。能够这样应用:
`<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
年龄:<input type="text" name="age" size="3" />
</form>`
* 1
* 2
* 3
与 maxlength 不同的是,size 定义的是文本框可见的字符数,当用户输出的字符数超出这个值时,还能够输出只是不再显示。
不倡议为文本框设置 size 属性,目前很少有人这么做。如果须要,应该应用 CSS 设置文本框的宽度。
HTML 明码框
在 HTML 中,把 < input> 标签的 type 属性设置为 password 能够示意明码框。具体语法格局如下:
< input type=“password”/>
接下来咱们看一个具体的例子:
`<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
明码:<input type="password" name="psd">
</form>`
* 1
* 2
* 3
运行成果如图所示:
从运行后果来看,明码框在外观上和单行文本框雷同,然而两者之间是有区别的:
- 单行文本框输出的字符可见;
- 明码框输出的字符不可见,会被
▪
代替。请读者本人试一试。
留神:明码框设置输出字符被 ▪
代替的起因,只是避免用户四周的人看到明码,后盾是能够拿到输出的内容的。
明码框同单行文本框一样,也有 maxlength、value 以及 size 等属性。接下来咱们看一下:
1 maxlength 属性
maxlength 属性示意明码框最多能够输出的字符数量。如果咱们须要设置用户输出的明码不得超过 6 位,能够这样写:
`<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
明码:<input type="password" name="psd" maxlength="6">
</form>`
* 1
* 2
* 3
进行设置后,当用户输出的明码大于 6 位,不再容许输出。
2 value 属性
value 属性用来示意明码框的默认值,个别明码都是由用户自行输出的,然而有的状况咱们须要给用户一个默认明码,就能够这样写:
`<form action="http://vip.biancheng.net/login.php" method="post" name="myForm">
明码:<input type="password" name="psd" value="123456">
</form>`
* 1
* 2
* 3
运行成果如图所示:
图 2:键入了默认明码的明码框
通过运行后果能够发现,默认的明码 ”123456″ 被 ▪
代替。
3 size 属性
同单行文本框中的 size 属性雷同,也示意文本框可见的字符数。
留神:个别咱们只需设置 maxlength 来限度用户输出的明码不大于多少位,不应用 size 属性。
HTML 单选按钮
在 HTML 中,把 < input> 标签的 type 属性设置为 radio 能够示意单选按钮。具体语法格局如下:
< input type=“radio”/>
同单行文本框和明码框一样,单选按钮要想被正确提交,也必须设置 name 属性。除了 name 属性之外,单选按钮还有几个其它属性,咱们来看一下。
1. 单选按钮其它属性
其它属性
阐明
checked
用来规定在页面加载时应该被事后选定的 input 元素。
value
用来定义被选中时发送到服务器的值。同一组中每个按钮的值应该不同,这样服务器能力分别提交的是哪一项。
id
规定 HTML 元素的惟一 id。id 值在整个页面是惟一的,不会反复。
1) checked 属性
checked 属性用来设置页面加载时单选按钮的选中状态。当属性值为“checked”时,单选按钮会被选中。上面咱们通过一个简略的示例来进行演示:
`<form action="http://vip.biancheng.net/login.php" method="post" name="formName">
性别:<input type="radio" name="girl" checked="checked"> 女
<input type="radio" name="boy" checked="checked"> 男
</form>`
* 1
* 2
* 3
* 4
运行后果如图所示:
从运行后果能够看出,两个单选按钮都被选中。读者可能会思考是因为咱们同时给两个单选按钮设置了 checked="checked"
属性,其实还有一个起因,两个单选按钮的 name 属性值不同也会产生这样的后果。
留神:当 type 属性值为 radio 时,name 属性值必须保持一致。本例只是为了演示问题才会为所有按钮加 checked="checked"
属性,在理论开发中不会这样写。checked="checked"
能够简写为 checked。
2 name 属性
上述代码因为 name 属性值不同,两个单选按钮被同时选中。接下来咱们就来看一下当 name 属性值雷同时,给两个按钮都设置选中,会产生什么成果:
`<form action="http://vip.biancheng.net/login.php" method="post" name="formName">
性别:<input type="radio" name="sex" checked> 女
<input type="radio" name="sex" checked> 男
</form>`
* 1
* 2
* 3
* 4
运行后果如图所示:
通过运行后果能够发现,前面的按钮被选中,而后面的按钮没有。这是因为当 name 属性值雷同而且 type 属性为 radio 时,浏览器会认为是雷同字段,默认只能抉择一个。然而又因为咱们为两个按钮同时设置了选中成果,依据代码的执行程序后者会笼罩前者。
3 value 属性
下面咱们提到了单选按钮也有 value 属性,接下来就来看一下该如何应用它呢?咱们来看一段代码:
`<form action="http://vip.biancheng.net/login.php" method="post" name="formName">
性别:<input type="radio" name="sex" value="girl"> 女
<input type="radio" name="sex" value="boy" checked="checked"> 男
</form>`
* 1
* 2
* 3
* 4
运行成果如图所示:
通过运行后果发现,value 值并不会显示在页面中。之所以倡议为每个按钮增加 value 值,是因为最终提交表单时,服务器能够依据 value 属性值分别提交的是哪一项。
4 id 属性
在为单选按钮设置 id 属性时,个别有 3 种用处:
- 配合 < label> 标签应用;
- 通过 JavaScript 获取元素,对元素进行一系列操作;
- 通过 CSS 抉择元素,为其增加款式。
本节中,咱们将讲述第一种。那么咱们就来看一下 id 属性是如何与 标签配合应用的:
`<form action="http://vip.biancheng.net/login.php" method="post" name="formName">
性别:<input type="radio" name="girl" value="girl" id="girl"><label for="girl"> 女 </label>
<input type="radio" name="girl" value="boy" id="boy" checked="checked"><label for="boy"> 男 </label>
</form>`
* 1
* 2
* 3
* 4
通过以上代码能够发现,< label> 标签中的 for 属性与 < input> 元素的 id 属性值雷同,咱们能够说它们之间进行了一个绑定。那么 < label> 标签到底是用来做什么的呢?
< label> 标签次要用来为 < input> 元素定义标记,又因为 < label> 标签中的 for 属性能够与 < input> 元素的 id 属性进行绑定,所以当点击 < label> 标签中的内容(< label for=“girl”> 女 < /label>)时,也相当于对 < input> 中的元素(< input type=“radio”name=“girl”value=“girl”id=“girl”>)进行了点击。
运行后果如下图所示:
从运行后果来看没有任何变动,然而当读者点击 < label> 标签中的“男”或“女”时,会发现对应的按钮也会有相应变动。这是在开始时没有加 < label> 标签时所做不到的。
咱们倡议每个单选按钮都和 < label> 标签配合应用,一是为了用户体验,二是为了在前期应用 JavaScript 语言操作数据时更不便。
- 要想单选按钮被正确提交到后盾,必须为每个字段设置 name 属性;
- 当 < input> 标签用作单选按钮时,其 name 属性值必须雷同,这样浏览器才会认为是同一个字段,从而实现单选成果;
- value 属性值不会显示在页面上,然而在提交数据时,后盾接管的是咱们设置的 value 属性值;
- < label> 标签用来为 < input> 元素定义标记,当 < label> 标签中的 for 属性与 < input> 元素的 id 属性绑定时,点击 < label> 标签中的内容,也相当于点击了 < input> 中的元素。
HTML 复选框
在 HTML 中,把 < input> 标签中的 type 属性设置为 checkbox 能够实现多选框的成果。具体语法格局如下:
< input type=“checkbox”/>
1. 复选框的罕用属性
罕用属性
阐明
checked
用来规定在页面加载时应该被事后选定的 input 元素,当属性值为 checked 时,能够省略。
value
用来定义被选中时发送到服务器的值。同一组中每个按钮的值应该不同,这样服务器能力分别提交的是哪一项。
id
规定 HTML 元素的惟一 id。id 值在整个页面是惟一的,不会反复。
1 checked 属性
checked 属性用来设置页面加载时复选框的选中状态。当属性值为“checked”时,对应的复选框会被选中。上面咱们通过一个简略的示例来进行演示:
`<form action="http://vip.biancheng.net/register.php" method="post" name="formName">
喜好:<input type="checkbox" name="running" checked> 跑步
<input type="checkbox" name="reading" checked> 浏览
<input type="checkbox" name="shopping" checked> 购物
</form>`
* 1
* 2
* 3
* 4
* 5
运行后果如图所示:
通过运行后果能够发现,当 name 属性值不同且为复选框都设置 checked
时,它们都被选中。那么如果咱们为 name 属性设置雷同的值,会是什么成果呢?
`<form action="http://vip.biancheng.net/register.php" method="post" name="formName">
喜好:<input type="checkbox" name="running" id="run" checked> 跑步
<input type="checkbox" name="running" id="read" checked> 浏览
<input type="checkbox" name="running" id="shop" checked> 购物
</form>`
* 1
* 2
* 3
* 4
* 5
运行后果如图所示:
与咱们预期的后果可能不太一样:在为单选按钮设置雷同的 name 属性值时,只有一个能够被选中,而复选框都被选中了,那么咱们是不是能够轻易设置复选框的 name 属性呢?当然是不倡议的,因为后盾在获取用户输出数据时,如果 name 属性雷同,很容易混同。
2 value 属性
复选框也有 value 属性,咱们来看一下应用办法:
`<form action="http://vip.biancheng.net/register.php" method="post" name="formName">
喜好:<input type="checkbox" name="running" checked value="run">
<input type="checkbox" name="reading" checked value="read">
<input type="checkbox" name="shopping" checked value="shop">
</form>`
* 1
* 2
* 3
* 4
* 5
运行后果如图所示:
通过运行后果能够发现,与单行文本框和明码框不同,复选框的 value 值并不显示在页面上。倡议为复选框设置不同的 value 属性值,这样在数据提交时,后盾能够十分分明的晓得提交的是哪个字段。
3 id 属性
为复选框设置 id 属性的目标与单选框雷同,共分为 3 种:
- 配合 < label> 标签应用;
- 通过 JavaScript 获取元素,对元素进行一系列操作;
- 通过 CSS 抉择元素,为其增加款式。
第一种应用办法:
`<form action="http://vip.biancheng.net/register.php" method="post" name="formName">
喜好:<input type="checkbox" name="running" id="run" checked value="run"><label for="run"> 跑步 </label>
<input type="checkbox" name="reading" id="read" checked value="read"><label for="read"> 浏览 </label>
<input type="checkbox" name="shopping" id="shop" checked value="shop"><label for="shop"> 购物 </label>
</form>`
* 1
* 2
* 3
* 4
* 5
运行后果如图所示:
复选框中的 < label> 标签和单选按钮中的 < label> 标签应用办法雷同,分为 2 点:
- < label> 标签次要用来为 < input> 元素定义标记;
- 当 < label> 标签和 for 属性配合应用时,for 属性指向 < input> 元素的 id 属性。当点击 < label> 标签的内容时,< input> 元素也有相应变动。
咱们倡议所有的复选框都与 < label> 标签配合应用,一是为了用户体验,二是为了在应用 JavaScript 语言操作数据时更加不便。
- 复选框能够多选,不限度选中的数量;
- 复选框要想被正确提交,必须设置 name 属性,而且每个复选框的 name 属性值和 value 属性值都倡议不同;
- 复选框倡议与 < label> 标签配合应用;
- < label> 标签中的 for 属性指向复选框的 id 属性,相似绑定。
HTML 文件上传域
文件上传是网站中一种常见的性能。例如百度网盘、QQ 邮箱以及有道云笔记都能够实现文件的上传。在 HTML 中,把 < input> 标签的 type 属性设置为 file 就能够实现上传文件的性能,又叫做文件上传域。具体语法格局如下:
< input type=“file”/>
接下来咱们看一下怎样才能实现文件的正确上传呢?具体代码如下:
`<form action="http://vip.biancheng.net/register.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" accept="image/png"/><br/>
<input type="submit"/>
</form>`
* 1
* 2
* 3
* 4
上传文件时,须要把 method 属性设置为 post(get 形式不能提交文件)。
上述代码中,应用了 < form> 标签的 enctype 属性以及 < input> 标签的 accept 属性,咱们来别离看一下:
1. enctype 属性
enctype 属性规定被提交数据的编码。如果提交数据中蕴含文件时,须要把 标签的 enctype 属性设置为 multipart/form-data。如果不这样设置,文件将无奈失常提交。具体代码如下:
`<form action="http://vip.biancheng.net/register.php" method="post" enctype="multipart/form-data">
<input type="file" name="file"/><br/>
<input type="submit"/>
</form>`
* 1
* 2
* 3
* 4
运行后果如图所示:
当然仅仅设置 < form> 标签的 enctype 属性是不够的,如果要保障文件能够正确提交给表单服务器,还须要设置文件的类型,这时就须要应用 accept 属性。
2. accept 属性
当 < input> 标签的 type 属性为 file 时,应用 accept 属性能够规定上传文件的类型。具体代码如下:
`<form action="http://vip.biancheng.net/register.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" accept="image/png"/>
</form>`
* 1
* 2
* 3
此处规定上传的文件只能是 .png
格局的图片。如果想上传 .pdf
格局的图片,须要批改 accept 的属性值。
上传文件的类型有很多种,咱们在文章的开端会附上罕用的文件类型。
如果 accept 的属性值为多个,它们之间须要用逗号隔开。
依据以上内容,咱们总结出上传文件须要留神的 2 点:
- 把 < form> 标签的 enctype 属性设置为 multipart/form-data;
- 应用 < input> 标签的 accept 属性来设置上传文件的类型。
然而这样编写代码只能实现每次上传一个文件,如果想实现一次上传多个文件,还要用到 < input> 标签的 multiple 属性。
3. multiple 属性
当给上传文件字段设置了 multiple 属性时,就示意能够同时抉择多个文件一起上传。咱们来看具体的代码:
`<form action="http://vip.biancheng.net/register.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" accept="image/png" multiple />
</form>`
* 1
* 2
* 3
这时咱们就能够一次性抉择多个 .png
格局的图片文件,如图所示:
通过运行后果能够发现,当抉择多个文件时,浏览器显示的是文件个数而不再是文件名称。
4. 罕用的文件类型
罕用文件类型
对应的 accept 属性值
.jpg
image/jpg
.png
image/png
.gif
image/gif
.jpeg
image/jpeg
.html
text/html
.css
text/css
.js
text/javascript、application/javascript
.txt
text/plain
.zip
application/zip
.mp4
audio/mp4、video/mp4
HTML 标签(文本域)
在 HTML 中,应用 < textarea> 标签来示意多行文本框,又叫做文本域。与其它 < input> 标签不同,< textarea> 标签是单闭合标签,它蕴含起始标签和完结标签,文本内容须要写在两个标签两头。具体语法格局如下:
< textarea> 文本内容 < /textarea>
接下来咱们通过一段简略的代码来看一下:
`<form action="http://vip.biancheng.net/register.php" method="post">
形容信息:<textarea name="description"> 此处是形容信息 </textarea>
</form>`
* 1
* 2
* 3
运行成果如图所示:
通过运行后果能够发现,文本域的右下角有一个膨胀按钮,拖拽按钮能够手动扭转文本域的宽高。这个按钮默认显示,也能够暗藏,咱们来看一下怎么暗藏它呢?
`<form action="http://vip.biancheng.net/register.php" method="post">
形容信息:<textarea name="description" style="resize:none;"> 此处是形容信息 </textarea>
</form>`
* 1
* 2
* 3
留神:此处用到的是 CSS 款式中的内容,读者只需理解即可。当膨胀按钮暗藏后,不能手动调节文本域的宽高。
同所有表单元素雷同,文本域要想正确提交,也必须设置 name 属性。除了 name 属性以外,文本域还有其它属性,接下来咱们看一下:
其余属性
阐明
cols
用来指定每行显示的字符数。
rows
用来指定失常状况下(没有滚动条)显示的文本行数。
id
用来定义文本域的惟一 id 属性。
1. cols 属性
cols 属性用来指定每行能够显示的字符数,也就是文本域的可见宽度。个别状况下,如果内容超出文本域宽度,会主动换行显示,然而如果文本内容较长,而且在大于文本域宽度时,还没有空格能够进行换行,就会呈现横向滚动条。
咱们来看一个示例:
`<form action="http://vip.biancheng.net/register.php" method="post">
HTML 教程形容:<textarea name="description" cols="40"> 这套「HTML 教程」能够帮忙读者疾速入门,其中蕴含了作者大量的实践经验,将常识系统化,稀释为精髓,用通俗易懂的语言直指网页设计初学者的痛点。</textarea>
</form>`
* 1
* 2
* 3
运行后果如图所示:
通过运行后果能够发现,当文本内容超出了文本域的宽度时,会主动换行显示。这时,呈现了纵向的滚动条是因为高度不够。上面咱们就来学习一下如何设置文本域的高度。
2. rows 属性
在文本域中,rows 属性用来设置文本域的可见行数,也就是文本域的高度。当文本内容超出设置高度时,会呈现纵向滚动条。用户拖动滚动条能够查看全部内容。
示例如下:
`<form action="http://vip.biancheng.net/register.php" method="post">
HTML 教程形容:<textarea name="description" cols="40" rows="6"> 这套「HTML 教程」能够帮忙读者疾速入门,其中蕴含了作者大量的实践经验,将常识系统化,稀释为精髓,用通俗易懂的语言直指网页设计初学者的痛点。</textarea>
</form>`
* 1
* 2
* 3
运行后果如图所示:
通过运行后果能够看出,当文本高度小于文本域高度时,不会呈现纵向滚动条。
留神:除了应用 rows、cols 属性设置文本域的宽高,css 也能够实现
- id 属性
id 属性用来定义文本域的惟一 id 值。为文本域增加 id 属性,次要有以下 2 个方面:
- 在 css 中,能够应用 id 获取元素为其增加 css 款式;
- 在 JavaScript 中,能够依据设置好的 id 属性获取文本域,而后对它进行一系列操作,例如操作文本域的内容。
HTML 标签(下拉列表)
下拉列表是网页中一种最节俭页面空间的抉择形式,默认状态下只显示一个选项,只有单击下拉按钮后能力看到全副的选项。例如,淘宝网首页的抉择地区一栏,用到的就是下拉列表,咱们来看一下:
图 1:淘宝网的下拉列表
咱们都晓得无序列表由 < ul>< li> 配合应用,有序列表由 < ol>< li> 配合应用。HTML 下拉列表与它们相似,是由 < select>< option> 配合应用的。具体语法格局如下:
< select>
< option>< /option>
< /select>
其中,< select> 标签用来创立一个下拉列表,< option> 标签示意下拉列表中的每一项(条目)。接下来咱们看一个示例:
`<form action="http://vip.biancheng.net/login.php" method="post">
年龄区间:<select>
<option>18 岁以下 </option>
<option>18-28 岁 </option>
<option>28-38 岁 </option>
<option>38 岁以上 </option>
</select>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
运行后果如图所示:
咱们先来看一下 < select> 标签的属性。
1. < select> 标签属性
1name 属性
同所有其它表单元素雷同,下拉列表要想被正确提交,也须要设置 name 属性。代码如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
年龄区间:<select name="selectList">
<option>18 岁以下 </option>
<option>18-28 岁 </option>
<option>28-38 岁 </option>
<option>38 岁以上 </option>
</select>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
运行后果如图所示:
通过运行后果能够发现,name 属性并不会显示在页面上。下拉列表的 name 属性同 标签的 name 属性作用雷同,次要用来提交数据。
2 size 属性
在文章的开始咱们提到过,下拉列表默认状态下只显示一个选项。如果须要让页面显示多个选项,就要应用 size 属性。咱们来看一下具体的应用办法:
`<form action="http://vip.biancheng.net/login.php" method="post">
年龄区间:<select name="selectList" size="4">
<option>18 岁以下 </option>
<option>18-28 岁 </option>
<option>28-38 岁 </option>
<option>38 岁以上 </option>
</select>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
谷歌浏览器的运行后果:
再来看一下 IE 浏览器的运行后果:
通过比拟运行后果咱们能够发现,不同浏览器对于一些标签会有不同的款式设置。
3 multiple 属性
下拉列表默认只容许抉择一个选项,如果容许用户抉择多个,就要用到 multiple 属性。当 multiple 属性值等于 multiple 时,示意容许用户抉择多个选项。咱们来看一下具体应用办法:
`<form action="http://vip.biancheng.net/login.php" method="post">
年龄区间:<select name="selectList" multiple="multiple" size="4">
<option>18 岁以下 </option>
<option>18-28 岁 </option>
<option>28-38 岁 </option>
<option>38 岁以上 </option>
</select>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
运行后果如图所示(谷歌浏览器):
留神:此时只需按住ctrl
+ 鼠标左键就能够抉择多个选项。multiple=“multiple”能够简写为 multiple。
4) disabled 属性
disabled 属性能够禁用下拉列表,使其不能再取得焦点或被批改。被禁用后,它的值不会提交。具体应用办法如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
年龄区间:<select name="selectList" multiple="multiple" size="4" disabled>
<option>18 岁以下 </option>
<option>18-28 岁 </option>
<option>28-38 岁 </option>
<option>38 岁以上 </option>
</select>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
运行后果如图所示:
通过运行后果能够发现,下拉列表的每一项都被“灰化”(gray-out)了,而且不能够被抉择。
上述为 < select> 标签的属性,接下来咱们看一下 < option> 标签的属性。
- < option> 标签属性
1) selected 属性
在为 < select> 标签设置了 multiple 属性后,就能够通过 < option> 标签的 selected="selected"
实现某一项的事后选中。具体应用办法如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
年龄区间:<select name="selectList" multiple>
<option selected="selected">18 岁以下 </option>
<option>18-28 岁 </option>
<option selected="selected">28-38 岁 </option>
<option>38 岁以上 </option>
</select>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
运行后果如图所示:
通过运行后果能够发现,设置了 selected="selected"
属性的项被事后选中,呈深灰色。
2 value 属性
< option> 标签的 value 属性用来定义当下拉列表在提交时,发送给服务器的值。value 值并不会显示在页面上。应用办法如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
年龄区间:<select name="selectList" multiple>
<option selected="selected" value="underage">18 岁以下 </option>
<option value="teens">18-28 岁 </option>
<option selected="selected" value="youth">28-38 岁 </option>
<option value="more">38 岁以上 </option>
</select>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
运行后果如图所示:
3) disabled 属性
< option> 标签也有 disabled 属性,不同于 < selected> 标签的 disabled 属性,它只能禁用列表中的某一项。
- 实际上,multiple 和 size 这两个属性只有设置了其中一个,下拉列表就能够显示多项。如果只设置 size,而不设置 multiple,失去的是一个不容许多选然而能够显示多项的下拉列表;
- < select> 标签的 name 属性不显示在页面上,次要用来提交数据;
- < option> 标签的 value 属性也不显示在页面上,次要用来定义提交给服务器的值;
- < option> 标签的 disabled 属性禁用的是列表中的某一项;
- < select> 标签的 disabled 属性禁用的是整个列表。
- HTML 按钮
在 HTML 中,按钮分为 3 种:
- 一般按钮
- 提交按钮
- 重置按钮
1. 一般按钮
一般按钮默认没有提交性能,它只是一个可点击的小安装,个别状况下,须要配合 JavaScript 脚本能力实现具体的性能。在 HTML 中,把 < input> 标签的 type 属性设置为 button 用来示意一般按钮。具体语法格局如下:
< input type=“button”/>
一般按钮没有默认内容,咱们须要应用 value 属性为其设置具体内容。代码如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
<input type="button" value="一般按钮"/>
</form>`
* 1
* 2
* 3
* 4
运行后果如图所示:
2. 提交按钮
提交按钮能够看成是一种具备非凡性能的一般按钮。当单击提交按钮时,会对表单的内容进行提交。在 HTML 中,当 < input> 标签的 type 属性值为 submit 时,用来示意提交按钮。具体语法格局如下:
< input type=“submit”/>
咱们通过一段简略的代码来看一下:
`<form action="http://vip.biancheng.net/login.php" method="post">
<input type="submit"/>
</form>`
* 1
* 2
* 3
运行后果如图所示:
在上述代码中,咱们并没有为提交按钮设置 value 值。然而通过运行后果能够发现,提交按钮是有默认值的,默认为提交。如果须要扭转其默认值,只须要设置 value 属性即可。
留神:表单中的字段须要设置 name 属性才能够进行提交,然而提交按钮的 name 属性能够依据需要进行设置,个别状况下不应用。当点击提交按钮后,表单中含有 name 属性的数据会发送到表单服务器,后盾通过操作便能够拿到用户输出的内容。
3. 重置按钮
重置按钮也能够看成是一种具备非凡性能的一般按钮,单击重置按钮能够革除用户在表单中输出的信息。把 < input> 标签的 type 属性设置为 reset 用来示意重置按钮。重置按钮也有默认值,默认值为重置。具体语法格局如下:
< input type=“reset”/>
示例如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
用户名 <input type="text" name="username" value="C 语言中文网"/>
明码:<input type="password" name="psd" value="123456"/>
<input type="reset"/>
</form>`
* 1
* 2
* 3
* 4
* 5
运行后果如图所示:
接下来咱们看一下点击重置按钮后的成果:
通过运行后果发现,数据没有清空。这是为什么呢?
这里须要留神的是,reset 按钮只能清空用户在表单中输出的内容,对于提前设置好的内容不会清空。
不同浏览器对于一些标签会有不同的款式设置,以上均应用谷歌浏览器。
HTML 图像按钮
在 HTML 中,把 < input> 标签的 type 属性设置为 image 能够示意图像按钮。具体语法格局如下:
< input type=“image”src=“url”/>
咱们还能够把图像按钮分为图像、按钮两局部来看,因为它既有图像的特点(须要应用 src
属性为图片增加门路),又有按钮的特点(图像按钮的行为基本上与提交按钮统一,点击它也能够实现表单数据的提交)。
图片的门路能够是相对路径,也能够是绝对路径。具体应用办法请参考
示例如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
<input type="image"
src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1789448540,836075780&fm=26&gp=0.jpg"/>
</form>`
* 1
* 2
* 3
* 4
运行后果如图所示:
当咱们点击图片按钮后,表单中的相应内容会提交。
1. 图像按钮属性
同 < img> 标签一样,图像按钮也有 alt 属性:
1 alt 属性
alt 属性用来对图像进行文本阐明。个别状况下,当浏览器因某种原因无奈载入图像时,就会显示这段文本。尽管 alt 属性值能够为空,但还是倡议读者给 alt 属性设置合乎图像信息的文本。
代码如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
<input type="image"
src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1789448540,836075780&fm=26&gp=0.jpg"
alt="此处为提交按钮"
/>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
当网络呈现问题时,运行后果如图所示:
接下来咱们看一下怎么设置图片按钮的大小。
2 width 属性
width 属性示意图片的宽度,默认单位是 px,不须要显示指明。应用办法如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
<input type="image"
src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1789448540,836075780&fm=26&gp=0.jpg"
alt="此处为提交按钮"
width="100"
/>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
运行后果如图所示:
与图 1 进行比照发现,图片的宽度和高度都产生了变动,那是因为图片随设置好的宽度进行了自适应。
3 height 属性
height 属性示意图片的高度,同 width 属性一样,默认单位也是 px,不须要显示指明。具体代码如下:
`<form action="http://vip.biancheng.net/login.php" method="post">
<input type="image"
src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1789448540,836075780&fm=26&gp=0.jpg"
alt="此处为提交按钮"
height="100"
/>
</form>`
* 1
* 2
* 3
* 4
* 5
* 6
* 7
运行后果如图所示:
通过运行后果发现,图片的宽度也随其高度产生了变动。个别状况下,咱们只需设置图片的宽度(width)或者是高度(height)即可,否则有的图片可能会失帧。
结语
其实 HTML 语言还是编程中比较简单、容易入门的编程语言,对于无任何教训的小白还是比拟容易了解的,相比于 js、jQuery 甚至于 C、C++……都是比拟容易死记硬背的