详述table标签

HTML中的表格

我们常常会使用到Excle表格,可以非常直观的 建立、操作、删除表格数据(如下图)。

那么如何在html文件中创建一个表格呢?

HTML表格由table标签以及一个或多个trthtd标签组成:

  1. table标签用来定义表格,整个表格包含在<table></table>标签中
  2. tr标签用来定义表格中一个,它是单元格的容器,每行可以包含有多个单元格,由<tr></tr>标签表示
  3. td标签和th标签用来定义单元格,所有单元格都在tr标签内,每个单元格由一对<td></td>标签或一对<th></th>标签表示(th即为tableHead代表表格头,th即为tableData代表表格内数据),具体的表格内容放置在这一对td标签或th标签之中(注意:th标签中的内容默认以粗体、居中的方式显示

例如:

<table>
    <tr>
        <th>1行1列的内容</th>
        <th>1行2列的内容</th>
        …
    </tr>
    <tr>
        <td>2行1列的内容</td>
        <td>2行2列的内容</td>
        …
    </tr>
    …
</table>

知道了上面的数据,那么下面我们开始创作一个和上面一样的学生信息表格吧,代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
	<title></title>
	<style></style>
    </head>
    <body>
	<table>
	    <tr>
		<th>序号</th>
		<th>姓名</th>
		<th>年龄</th>
		<th>手机号</th>
	    </tr>
	    <tr>
		<td>1</td>
		<td>小王</td>
		<td>18</td>
		<td>17752846322</td>
	    </tr>
	    <tr>
		<td>2</td>
		<td>小丽</td>
		<td>17</td>
		<td>15964712254</td>
	    </tr>	
	</table>
    </body>
</html>

下面我们来运行一下,看看浏览器的显示效果:

!!!为什么我们创建的“表格”没有边框呢?

其实是这样的,我们的的确确把这些数据按照“行和列”存放到了一个看不见的表格当中了,但是其实表格的边框是属于表格中<tr>\<th>\<td>标签的属性border,因此需要我们手动去设置边框的类型、粗细、颜色等。

关于边框的border标签属性语法如下:

/*语法*/
border: 颜色 粗细 虚线/实线;

/*示例*/
border: black 1px solid;/*设定黑色、粗细为1px像素的实线边框*/

下面我们来实战一下:

我们将border属性标签写到<head>标签的<style>标签中,但要注意的是,我们不能直接把这个边框属性加到<table>标签上,因为这样仅仅是将整个表格用一圈线包裹起来(如下图)

因此需要同时将border属性写入<table>、<th>、<td>标签,代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
	<title></title>
	<style>
            table{
	        border: black 1px solid;
            }
	    th{
		border: black 1px solid;
	    }
	    td{
		border: black 1px solid;
	    }
        </style>
    </head>
    <body>
	<table>
	    <tr>
		<th>序号</th>
		<th>姓名</th>
		<th>年龄</th>
		<th>手机号</th>
	    </tr>
	    <tr>
		<td>1</td>
		<td>小王</td>
		<td>18</td>
		<td>17752846322</td>
	    </tr>
	    <tr>
		<td>2</td>
		<td>小丽</td>
		<td>17</td>
		<td>15964712254</td>
	    </tr>	
	</table>
    </body>
</html>

在浏览器的预览如下图:

在上图中可以看出我们做出的边框并不美观,那么如何仅显示一条线呢。

实际上需要如下另外两个标签属性:

  1. border-spacing设置单元格之间的间距
  2. border-collapse设置边框是否重合,属性值有:separate(分开)collapse(合并)

修改后的代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
	<title></title>
	<style>
            table{
	        border: black 1px solid;
                border-spacing: 0;
		border-collapse: collapse;
            }
	    th{
		border: black 1px solid;
	    }
	    td{
		border: black 1px solid;
	    }
        </style>
    </head>
    <body>
	<table>
	    <tr>
		<th>序号</th>
		<th>姓名</th>
		<th>年龄</th>
		<th>手机号</th>
	    </tr>
	    <tr>
		<td>1</td>
		<td>小王</td>
		<td>18</td>
		<td>17752846322</td>
	    </tr>
	    <tr>
		<td>2</td>
		<td>小丽</td>
		<td>17</td>
		<td>15964712254</td>
	    </tr>	
	</table>
    </body>
</html>

预览如下图:

至此,我们已经成功在HTML中创建了一个与Excel一模一样的表格!

 其它

解决了边框问题后,针对表格其它属性调整,可由以下几个标签属性实现:

  1. width设置表格大小或占页面百分比
  2. height设置单元格大小
  3. align设置单元格内容水平对齐方式,属性值有:left(左对齐)right(右对齐)center()居中对齐
  4. valign设置单元格内容的垂直对齐方式,属性值有:top(对内容进行上对齐)middle(对内容进行居中对齐(默认值))bottom(对内容进行下对齐)baseline(与基线对齐)

进阶:如何合并单元格

如要合并列:

合并列需要使用标签属性colspan语法格式如下:

colspan="合并列数"

需要注意的是,合并列后,该列之后的单元格就不必再创建!

如要合并行:

合并列需要使用标签属性rowspan语法格式如下:

rowspan="合并行数"

同样,合并行后,该行下的行中对应单元格就不必再创建!

实例:

使用HTML分别实现如下效果

设计代码如下:

<!DOCTYPE html>
<html>
    <head>
	<meta charset="UTF-8">
	<title></title>
	<style type="text/css">
	    table{
		border: black 1px solid;
		border-spacing: 0;
		border-collapse: collapse;
	    }
	    th{
		height: 40px;/*规定表格高度*/
		border: black 1px solid;
		text-align: center;
	    }
	    td{
		height: 20px;
		border: black 1px solid;
		text-align: center;
	    }
        </style>
    </head>
    <body>
	<table>
	    <tr>
		<td colspan="9">2013年图书销售统计</td>
	    </tr>
	    <tr>
		<td rowspan="2">图书分类</td>
		<td colspan="2">一季度</td>
		<td colspan="2">二季度</th>
		<td colspan="2">三季度</td>
		<td colspan="2">四季度</td>
	    </tr>
	    <tr>
		<th>销售量</th>
		<th>销售额</th>
		<th>销售量</th>
		<th>销售额</th>
		<th>销售量</th>
		<th>销售额</th>
		<th>销售量</th>
		<th>销售额</th>
	    </tr>
	    <tr>
		<td>小说</td>
		<td>23521</td>
		<td>¥559,940.00</td>
		<td>18423</td>
		<td>¥44,841.00</td>
		<td>32125</td>
		<td>¥829,870.00</td>
		<td>25188</td>
		<td>¥586,564.00</td>
	    </tr>
	</table>
    </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值