HTML2
上一篇文章介绍了HTML语言的基本内容,但是本篇我们就从表格与表单入手,继续讲解HTML。
表格标签
表格标签也是我们基本经常使用的一种标签,而且表格标签的基本标签也有以下几种:
基本标签
- table:表示整个表格
- tr:表示表格的一行
- td:表示行内的一个单元格,与tr搭配表示
- th:表示表头单元格,会居中加粗
- thead:表格的头部区域(注意和 th 区分, 范围是比 th 要大的),存储表格的表头信息,所得到的内容会居中加粗
- tbody: 表格得到主体区域,表格内容的主要内容放在这里面
table 包含 tr , tr 包含 td 或者 th。
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>
<table border="1" cellspacing="2" cellpadding="500px" cellspacing="400px">
<tr>
<td>春天来了</td>
<td>花开了</td>
<td>虫子</td>
<td>鸟</td>
</tr>
<tr>
<td>11</td>
<td>22</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
但是除了上述标签,还有一些标签是VScode所不能展示出来的,这是在历史上早已经遗弃的属性。就是类似于boarding,padding之类的标签,我们通常会在CSS当中使用,在后面CSS章节中还会提到。
对于一些需要进行列和行的合并的操作,我们会使用到span这个关键字。
如果需要进行行合并的话,就是需要使用到rowsapn
反之,对应列合并的就会使用的到colspan。
html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>单元格合并和表格嵌套</title>
</head>
<!--
1.演示跨列合并
2.演示跨行合并
3.演示单元格里再嵌套表格
-->
<body>
<table border="3" align="center" width="600">
<caption>课程表</caption>
<thead>
<tr >
<th>节次</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
<th>星期四</th>
<th>星期五</th>
<th>星期六</th>
<th>星期日</th>
</tr>
</thead>
<tbody >
<!-- 第一行 -->
<tr >
<td>1-2节</td>
<td rowspan="2">语文</td>
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<td rowspan="2" colspan="2">
<!-- 表格嵌套 -->
<table border="1" width="100">
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>2</td>
<td>2</td>
<td>2</td>
</tr>
</table>
</td>
</tr>
<!-- 第二行 -->
<tr>
<td>3-4节</td>
<!-- <td >语文</td> 被上一行跨行合并的列不再需要td标记 -->
<td>音乐</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
</tr>
<!-- 第三行 -->
<tr>
<td height="30" colspan="8" align="center">午休</td>
</tr>
<tr>
<td>5-6节</td>
<!--<td >语文</td>-->
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<!--<td></td>
<td></td> -->
</tr>
<!-- 第四行 -->
<tr>
<td>7-8节</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<td></td>
<td></td>
</tr>
</tbody>
<!-- 第五行 -->
<tfoot>
<tr>
<td colspan="8">晚自习</td>
</tr>
</tfoot>
</table>
</body>
</html>
一些其他的标签:
border-collapse:这个标签通常会使用在进行边框合并的场景当中,这个需要注意。
capation:这个是表格的题目。
html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title >表格标签</title>
</head>
<body>
<!-- 表格基础标签 table、tr、td -->
<!-- 表格的标题标签caption -->
<!--表格的表头标签th,该标记中的内容默认加粗且居中-->
<!--1. thead标记 -->
<!--2. tbody标记 -->
<!--3. tfoot标记 -->
<!-- <table border="1" width="600" height="300" cellspacing="0" cellpadding="10"> -->
<!-- <table border="1" width="600" height="300"> -->
<table>
<!-- 表格标题 -->
<caption><h2>课程表</h2></caption>
<thead>
<tr >
<th>节次</th>
<th>星期一</th>
<th>星期二</th>
<th>星期三</th>
<th>星期四</th>
<th>星期五</th>
<th>星期六</th>
<th>星期日</th>
</tr>
</thead>
<tbody>
<tr >
<td>1-2节</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<td></td>
<td></td>
</tr>
<tr>
<td>3-4节</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<td></td>
<td></td>
</tr>
<tr>
<td>5-6节</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<td></td>
<td></td>
</tr>
<tr>
<td>7-8节</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<td></td>
<td></td>
</tr>
<tr>
<td>9-10节</td>
<td>语文</td>
<td>数学</td>
<td>英语</td>
<td>物理</td>
<td>体育</td>
<td></td>
<td></td>
</tr>
</tbody>
<tfoot>
<tr>
<td>底部</td>
<td>底部</td>
<td>底部</td>
<td>底部</td>
<td>底部</td>
<td>底部</td>
<td></td>
<td></td>
</tr>
</tfoot>
</table>
</body>
</html>
上面就是所说的列表的标签,大致就是
列表标签
对于表格我们介绍完以后,还有列表标签。
对于列表而言 ,分为无序列表,有序列表
无序列表
无序列表的标签是<ul>和<li>
而<ul>是在<li>外面进行使用的,<li>标签里面就可以表示我们所使用的内容
接下来是一个示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试1</title>
</head>
<body>
<ul>
<li>苹果1</li>
<li>桃子1</li>
<li>猕猴桃</li>
</ul>
</body>
</html>
打开后可以看见浏览器默认的展示方式是一个实心圆
我们可以通过在ul当中使用type标签指示,square是一个实心正方形,而circle是空心圆,disc就是默认的实心圆。
有序列表
有序列表和无序列表不同的地方在于它是有序号的
无序列表的标签是<ol>和<li>
接下来是一个示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test2</title>
</head>
<body>
<p align="center">这是一个有序列表</p>
<ol>
<li>水杯</li>
<li>台灯</li>
</ol>
</body>
</html>
这里虽然p标签里面的align已经废弃,但是依然可以使用。
同理,我们也可以使用type属性改变其前面的序号来改变其所显示的内容,内容改变有以下几种规则:
A 表示大写英文字母的编号
i 表示小写罗马数字的编号
1 表示数字编号(默认)
序号会自动生成,不需要我们进行指定。
还有start标签,这可以指定序号开始的位置,常常使用罗马数字进行操作。可以指定开始位置,这里是展示示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test2</title>
</head>
<body>
<p align="center">这是一个有序列表</p>
<ol type="1" start="3">
<li>水杯</li>
<li>台灯</li>
</ol>
</body>
</html>
自定义列表
自定义列表是一种
自定义列表的标签是<dl> <dt> <dd>三种类型
<dl>是作为开始的标题的,而且是整个列表的开始部分
<dt>就是列表的部分,里面嵌套<dd>作为列表的内容的,下面是一个示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>这是自定义列表</title>
</head>
<body>
<p>
这是自定义列表
</p>
<dl>自定义列表题目
<dt>家具</dt>
<dd>沙发</dd>
<dd>台灯</dd>
<dd>椅子</dd>
</dl>
</body>
</html>
到这里,常用的列表的标签都已经介绍完毕,那么接下来介绍表单相关的知识
表单标签
表单是让用户输入信息的重要途径。
分成两个部分:
表单域: 包含表单元素的区域. 重点是 form 标签.
表单控件: 输入框, 提交按钮等. 重点是 input 标签
通常在from里面使用action标签可以指定服务器地址从而和服务器产生交互。这里由于没有部署服务器,我们使用'#'进行替代,默认是一个空链接。
表单控件常常是和表单域进行协调使用的,它涉及的标签很多,最常用的就是input标签。
input
这个标签是让用户进行输入的,在这个标签里面还可以指定输入的类型。
各种输入控件, 单行文本框, 按钮, 单选框, 复选框.。
type(必须有), 取值种类很多多, button, checkbox, text, file, image, password, radio 等,默认就是单行输入
name: 给 input 起了个名字. 尤其是对于 单选按钮, 具有相同的 name 才能多选一。
value: input 中的默认值,就是在不输入时给的值。
html
<form action="test.html">
... [form 的内容]
</form>
checked: 默认被选中。(用于单选按钮和多选按钮)
maxlength: 设定最大长度。
type
type里面有非常多的标签,有必要拿出来好好说一下,接下来就说一下:
- button在英文中的意思是"按钮"的意思,就是一个普通的按钮,需要value标签在按钮内进行提示,但是点击按钮没有什么效果,需要搭配js进行使用。
- radio也是一种type标签,可以实现单选效果,但是单有radio不够,我们还可以使用相同的name标签,这样就可以实现单选效果了,还有checked标签可以实现默认的值,但是只能写一个,如果写多个需要浏览器自己确认。
- checkbox代表复选框,也就是多选,但是记住,每一个选项都需要一个复选框,都需要写一次。
- passord就是密码框,用来填写密码,默认密码屏蔽。
- submit是提交按钮,用来将用户在前端填写的数据提交到服务器上验证,使用后就会有一个提交按钮
- reset是清空按钮,用于清空框里面的内容
- file就是提交文件的标签,用于提交文件
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!--同一个页面上可以有多个表单,为了区分,可以给表单起名字,写在form标签的name属性值中-->
<form action="#" method="get"name="form1">
<!--text单行文本输入框-->
用户名:<input type="text"value="张三"name="username"maxlength="4"size="30"/><br/>
密码:
<input type="password" name="psd"minlength="6"size="20"/><br/><!--password密码输入框-->
性别:<input type="radio"value="男"/>男
<input type="radio"name="gender"value="女"/>女<br/>
<!--radio单选按钮,同一组单选按钮的input控件的name属性值必须相等-->
兴趣:
<input type="checkbox" name="aihao" checked="checked" value="唱歌"/>唱歌
<input type="checkbox"name="aihao" value="跳舞"/>跳舞
<input type="checkbox" name="aihao"value="游泳" checked/>游泳<br/><!--checkbox复选框,同一组复选按钮的input控件的name属性值必须相等-->
上传头像:
<input type="file"/><br/><!--file文件域,用于上传文件-->
<input type="submit"value="提交"/><!--submit提交按钮,用于提交表单-->
<imput type="reset"value="重置"/><!--reset重置按钮,用于重置表单-->
<input type="button" value="普通按钮" />
<br>
<input type="image"src="images/login.gif"/><!--image图像域,使用图片做按钮-->
</form>
<!--此控件在form标签之外,但是它的form属性值是form1,所以它也属于form1表单-->
<input type="text"name="last_name"form="form1"/><br/>
请输入您的邮箱:<input type="email" name="formmail" /><br>
请输入个人网址:<input type="url" name="userurl"/><br>
请输入手机号码:<input type="tel" name="telephone" pattern="^[1][0-9]{10}$" /><br>
请输入数值:<input type="number" name="number1" value="1" max="50" min="0" step="5" /><br>
请选取一种颜色:<input type="color"name="color1"/><input type="color"name="color2"value="#FF3E96"/><br/>
滑块:<input type="range"name="number1"value="1"min="1"max="20"step="5"/><br/>
<input type="submit"value="提交"/>
</body>
</html>
lable标签
让选择时文字与按钮产生联系,使用一个for属性就可以把当前包裹的内容与元素产生关联,使用id就可以产生关联:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form>
<!--该表单中的input控件元素没有和label标签绑定,必须单击input控件,表单元素才能获取焦点-->
男:<input type="radio"name="sex"/>
女:<input type="radio"name="sex"/><br/>
</form>
<form>
<!--1abe1标签的作用,点击labe1标签时,相关的表单元素会自动获得焦点或被选中,使用户更容易理解和操作表单元素-->
<!--将标签提示文字包裹在label标签中,并设置label标签的for属性和绑定的input控件的id属性值相同即可-->
<label for="male">男</label>
<input type="radio"name="sex"id="male"/>
<label for="female">女</label>
<input type="radio"name="sex"id="female"/>
</form>
</body>
</html>
datalist标签
datalist的标签是在为输入栏中提供输入的选项,除了提供的输入选项,我们同样也可以自行输入,但是输入的datalist id是可以进行相同的属性进行绑定。只有被同一个属性进行绑定的数据才可以在同一个列表中显示。这不仅可以显示一些文字信息,也可以显示网址。
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="#" method="get">
请输入用户名:<input type="text" list="namelist" name="username" autocomplete="off"/>
<datalist id="namelist">
<option>张三</option>
<option>李四</option>
<option>王好</option>
</datalist>
<input type="submit" value="提交"/>
</form>
<form action="#" method="get">
请输入网址:<input type="url" list="urllist" name="weburl"/>
<datalist id="urllist">
<option label="新浪" value="http://www.sina.com.cn"></option>
<option label="搜狐" value="http://www.sohu.com"></option>
<option label="传智" value="http://www.itcast.cn/"></option>
</datalist>
<input type="submit" value="提交"/>
</form>
</body>
</html>
select标签
这里的select标签就可以产生选择,一般表示给出一些值供用户选择,通常与option标签进行一起的使用,可以避免用户输入非法的数据,也表示了众多的可选项。
selected属性是用来表示默认选中的选项,也可以防止用户忘记选择
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>select控件</title>
</head>
<body>
<form action="#"method="get">
所在地区:(单选)<br/>
<!--最基本的下拉菜单-->
<select name="select1">
<option>-请选择-</option>
<option>北京</option>
<option>上海</option>
<option selected>广州</option>
<option>武汉</option>
<option>成都</option>
</select><br/><br/>
特长(单选):<br/>
<select name="select2">
<option>唱歌</option>
<option selected>画画</option>
<!--设置默认选中项-->
<option>跳舞</option>
</select><br/><br/>
爱好(多选):<br/>
<select multiple="multiple"size="6"name="select3">
<!--设置多选和可见选项数-->
<option>读书</option>
<option selected>写代码</option><!--设置默认选中项-->
<option>旅行</option>
<option selected>听音乐</option><!--设置默认选中项-->
<option>踢球</option>
<option>踢球</option>
<option>踢球</option>
</select><br/><br/>
<input type="submit"value="提交"/>
</form>
</body>
</html>
optgroup标签
这个标签的作用与上面的datalist标签有相似点,但是不同点在于这个属性可以对于选项进行分组操作,让使用者可以更加直观的看见所需要选取的属性。
可以用label标签进行选项的绑定。
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="#"method="get">
城区:<br/>
<select name="selectl">
<optgroup label="北京">
<option>东城区</option>
<option>西城区</option>
<opt1on>朝日区</option>
<option>海定区</option>
</optgroup>
<optgroup label="上海">
<option>浦东新区</option>
<option>徐汇区</option>
<option>虹口区</option>
</optgroup>
</select>
<input type="submit">
</form>
</body>
</html>
textarea标签
表示页面展示的可以进行多行输入的标签,常常用于个人简介,通过rows和cols来设置对应的文本标签的高度和宽度,在竖直超出后会有滚轮显示。但一般我们会在CSS当中使用到,这里不再过多阐述.
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>textarea控件</title>
</head>
<body>
<form action="#"method="get">
评论:<br />
<textarea name="pinglun">
</textarea>
<input type="submit">
</form>
</body>
</html>
无语义标签
以前标题和段落等等可以通过一些标签来表示,但是无语义标签没有固定的用途。
我们可以使用这个标签进行一些页面的布局设计与操作。无语义标签有两种,一个是div,另一个是span
div标签独占一行,是一个大盒子。里面可以嵌套span这个小盒子,还可以嵌套自己。
span标签并不是独占一行的,是一个小盒子,下面是案例:
html
<div>
<span>咬人猫</span>
<span>咬人猫</span>
<span>咬人猫</span>
</div>
<div>
<span>兔总裁</span>
<span>兔总裁</span>
<span>兔总裁</span>
</div>
<div>
<span>阿叶君</span>
<span>阿叶君</span>
<span>阿叶君</span>
</div>
好的,那么在这里HTML的基础介绍就已经基本结束了。我们介绍了常用的标签,而在下一章,我们会为大家介绍CSS3,从CSS开始就是正式进入了对于网页的装饰,也是前端开发的第二个工具。喜欢的朋友记得给个三连哟,我们下一章不见不散~