整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML 表格及实例

可以使用 HTML 创建表格。

实例

表格

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<p>每个表格由 table 标签开始。</p>

<p>每个表格行由 tr 标签开始。</p>

<p>每个表格数据由 td 标签开始。</p>

<h4>一列:</h4>

<table border="1">

<tr>

<td>100</td>

</tr>

</table>

<h4>一行三列:</h4>

<table border="1">

<tr>

<td>100</td>

<td>200</td>

<td>300</td>

</tr>

</table>

<h4>两行三列:</h4>

<table border="1">

<tr>

<td>100</td>

<td>200</td>

<td>300</td>

</tr>

<tr>

<td>400</td>

<td>500</td>

<td>600</td>

</tr>

</table>

</body>

</html>

[/demo]

这个例子演示如何在 HTML 文档中创建表格。

表格边框

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>带有普通的边框:</h4>

<table border="1">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

<h4>带有粗的边框:</h4>

<table border="8">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

<h4>带有很粗的边框:</h4>

<table border="15">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示各种类型的表格边框。

表格

表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。

<table border="1">

<tr>

<td>row 1, cell 1</td>

<td>row 1, cell 2</td>

</tr>

<tr>

<td>row 2, cell 1</td>

<td>row 2, cell 2</td>

</tr>

</table>

在浏览器显示如下:

row 1, cell 1 row 1, cell 2

row 2, cell 1 row 2, cell 2

表格和边框属性

如果不定义边框属性,表格将不显示边框。有时这很有用,但是大多数时候,我们希望显示边框。

使用边框属性来显示一个带有边框的表格:

<table border="1">

<tr>

<td>Row 1, cell 1</td>

<td>Row 1, cell 2</td>

</tr>

</table>

表格的表头

表格的表头使用 <th> 标签进行定义。

大多数浏览器会把表头显示为粗体居中的文本:

<table border="1">

<tr>

<th>Heading</th>

<th>Another Heading</th>

</tr>

<tr>

<td>row 1, cell 1</td>

<td>row 1, cell 2</td>

</tr>

<tr>

<td>row 2, cell 1</td>

<td>row 2, cell 2</td>

</tr>

</table>

在浏览器显示如下:

Heading Another Heading

row 1, cell 1 row 1, cell 2

row 2, cell 1 row 2, cell 2

表格中的空单元格

在一些浏览器中,没有内容的表格单元显示得不太好。如果某个单元格是空的(没有内容),浏览器可能无法显示出这个单元格的边框。

<table border="1">

<tr>

<td>row 1, cell 1</td>

<td>row 1, cell 2</td>

</tr>

<tr>

<td></td>

<td>row 2, cell 2</td>

</tr>

</table>

表格中的空单元格

注意:这个空的单元格的边框没有被显示出来。为了避免这种情况,在空单元格中添加一个空格占位符,就可以将边框显示出来。

<table border="1">

<tr>

<td>row 1, cell 1</td>

<td>row 1, cell 2</td>

</tr>

<tr>

<td>&nbsp;</td>

<td>row 2, cell 2</td>

</tr>

</table>

在浏览器中显示如下:

row 1, cell 1 row 1, cell 2

row 2, cell 2

更多实例

没有边框的表格

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>这个表格没有边框:</h4>

<table>

<tr>

<td>100</td>

<td>200</td>

<td>300</td>

</tr>

<tr>

<td>400</td>

<td>500</td>

<td>600</td>

</tr>

</table>

<h4>这个表格也没有边框:</h4>

<table border="0">

<tr>

<td>100</td>

<td>200</td>

<td>300</td>

</tr>

<tr>

<td>400</td>

<td>500</td>

<td>600</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示一个没有边框的表格。

表格中的表头(Heading)

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>表头:</h4>

<table border="1">

<tr>

<th>姓名</th>

<th>电话</th>

<th>电话</th>

</tr>

<tr>

<td>Bill Gates</td>

<td>555 77 854</td>

<td>555 77 855</td>

</tr>

</table>

<h4>垂直的表头:</h4>

<table border="1">

<tr>

<th>姓名</th>

<td>Bill Gates</td>

</tr>

<tr>

<th>电话</th>

<td>555 77 854</td>

</tr>

<tr>

<th>电话</th>

<td>555 77 855</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何显示表格表头。

空单元格

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<table border="1">

<tr>

<td>Some text</td>

<td>Some text</td>

</tr>

<tr>

<td></td>

<td>Some text</td>

</tr>

</table>

<p>正如您看到的,其中一个单元没有边框。这是因为它是空的。在该单元中插入一个空格后,仍然没有边框。</p>

<p>我们的技巧是在单元中插入一个 no-breaking 空格。</p>

<p>no-breaking 空格是一个字符实体。如果您不清楚什么是字符实体,请阅读关于字符实体的章节。</p>

<p>no-breaking 空格由和号开始 ("&"),然后是字符"nbsp",并以分号结尾(";")。</p>

</body>

</html>

[/demo]

本例展示如何使用 "&nbsp;" 处理没有内容的单元格。

带有标题的表格

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>这个表格有一个标题,以及粗边框:</h4>

<table border="6">

<caption>我的标题</caption>

<tr>

<td>100</td>

<td>200</td>

<td>300</td>

</tr>

<tr>

<td>400</td>

<td>500</td>

<td>600</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示一个带标题 (caption) 的表格

跨行或跨列的表格单元格

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>横跨两列的单元格:</h4>

<table border="1">

<tr>

<th>姓名</th>

<th colspan="2">电话</th>

</tr>

<tr>

<td>Bill Gates</td>

<td>555 77 854</td>

<td>555 77 855</td>

</tr>

</table>

<h4>横跨两行的单元格:</h4>

<table border="1">

<tr>

<th>姓名</th>

<td>Bill Gates</td>

</tr>

<tr>

<th rowspan="2">电话</th>

<td>555 77 854</td>

</tr>

<tr>

<td>555 77 855</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何定义跨行或跨列的表格单元格。

表格内的标签

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<table border="1">

<tr>

<td>

<p>这是一个段落。</p>

<p>这是另一个段落。</p>

</td>

<td>这个单元包含一个表格:

<table border="1">

<tr>

<td>A</td>

<td>B</td>

</tr>

<tr>

<td>C</td>

<td>D</td>

</tr>

</table>

</td>

</tr>

<tr>

<td>这个单元包含一个列表:

<ul>

<li>苹果</li>

<li>香蕉</li>

<li>菠萝</li>

</ul>

</td>

<td>HELLO</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何显示在不同的元素内显示元素。

单元格边距(Cell padding)

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>没有 cellpadding:</h4>

<table border="1">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

<h4>带有 cellpadding:</h4>

<table border="1"

cellpadding="10">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何使用 Cell padding 来创建单元格内容与其边框之间的空白。

单元格间距(Cell spacing)

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>没有 cellspacing:</h4>

<table border="1">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

<h4>带有 cellspacing:</h4>

<table border="1"

cellspacing="10">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何使用 Cell spacing 增加单元格之间的距离。

向表格添加背景颜色或背景图像

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>背景颜色:</h4>

<table border="1"

bgcolor="red">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

<h4>背景图像:</h4>

<table border="1"

background="./imagecopy1234567890/test.gif">

<tr>

<td>First</td>

<td>Row</td>

</tr>

<tr>

<td>Second</td>

<td>Row</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何向表格添加背景。

向表格单元添加背景颜色或者背景图像

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<h4>单元背景:</h4>

<table border="1">

<tr>

<td bgcolor="red">First</td>

<td>Row</td>

</tr>

<tr>

<td

background="./imagecopy1234567890/test.gif">

Second</td>

<td>Row</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何向一个或者更多表格单元添加背景。

在表格单元中排列内容

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<table width="400" border="1">

<tr>

<th align="left">消费项目....</th>

<th align="right">一月</th>

<th align="right">二月</th>

</tr>

<tr>

<td align="left">衣服</td>

<td align="right">1.10</td>

<td align="right">.20</td>

</tr>

<tr>

<td align="left">化妆品</td>

<td align="right">.00</td>

<td align="right">.45</td>

</tr>

<tr>

<td align="left">食物</td>

<td align="right">0.40</td>

<td align="right">0.00</td>

</tr>

<tr>

<th align="left">总计</th>

<th align="right">01.50</th>

<th align="right">4.65</th>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何使用 "align" 属性排列单元格内容,以便创建一个美观的表格。

框架(frame)属性

[demo]

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<p><b>注释:</b>frame 属性无法在 Internet Explorer 中正确地显示。</p>

<p>Table with frame="box":</p>

<table frame="box">

<tr>

<th>Month</th>

<th>Savings</th>

</tr>

<tr>

<td>January</td>

<td>0</td>

</tr>

</table>

<p>Table with frame="above":</p>

<table frame="above">

<tr>

<th>Month</th>

<th>Savings</th>

</tr>

<tr>

<td>January</td>

<td>0</td>

</tr>

</table>

<p>Table with frame="below":</p>

<table frame="below">

<tr>

<th>Month</th>

<th>Savings</th>

</tr>

<tr>

<td>January</td>

<td>0</td>

</tr>

</table>

<p>Table with frame="hsides":</p>

<table frame="hsides">

<tr>

<th>Month</th>

<th>Savings</th>

</tr>

<tr>

<td>January</td>

<td>0</td>

</tr>

</table>

<p>Table with frame="vsides":</p>

<table frame="vsides">

<tr>

<th>Month</th>

<th>Savings</th>

</tr>

<tr>

<td>January</td>

<td>0</td>

</tr>

</table>

</body>

</html>

[/demo]

本例演示如何使用 "frame" 属性来控制围绕表格的边框。

表格标签

表格 描述

<table> 定义表格

<caption> 定义表格标题。

<th> 定义表格的表头。

<tr> 定义表格的行。

<td> 定义表格单元。

<thead> 定义表格的页眉。

<tbody> 定义表格的主体。

<tfoot> 定义表格的页脚。

<col> 定义用于表格列的属性。

<colgroup> 定义表格列的组。

TML 表格实例:

First NameLast NamePoints
JillSmith50
EveJackson94
JohnDoe80
AdamJohnson67

在线实例

表格

这个例子演示如何在 HTML 文档中创建表格。

HTML 表格

表格由 <table> 标签来定义。每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。

表格实例

<table border="1">

<tr>

<td>row 1, cell 1</td>

<td>row 1, cell 2</td>

</tr>

<tr>

<td>row 2, cell 1</td>

<td>row 2, cell 2</td>

</tr>

</table>

在浏览器显示如下::

row 1, cell 1row 1, cell 2
row 2, cell 1row 2, cell 2

HTML 表格和边框属性

如果不定义边框属性,表格将不显示边框。有时这很有用,但是大多数时候,我们希望显示边框。

使用边框属性来显示一个带有边框的表格:

<table border="1">

<tr>

<td>Row 1, cell 1</td>

<td>Row 1, cell 2</td>

</tr>

</table>

HTML 表格表头

表格的表头使用 <th> 标签进行定义。

大多数浏览器会把表头显示为粗体居中的文本:

<table border="1">

<tr>

<th>Header 1</th>

<th>Header 2</th>

</tr>

<tr>

<td>row 1, cell 1</td>

<td>row 1, cell 2</td>

</tr>

<tr>

<td>row 2, cell 1</td>

<td>row 2, cell 2</td>

</tr>

</table>

在浏览器显示如下:

Header 1Header 2
row 1, cell 1row 1, cell 2
row 2, cell 1row 2, cell 2

更多实例

没有边框的表格

本例演示一个没有边框的表格。

表格中的表头(Heading)

本例演示如何显示表格表头。

带有标题的表格

本例演示一个带标题 (caption) 的表格

跨行或跨列的表格单元格

本例演示如何定义跨行或跨列的表格单元格。

表格内的标签

本例演示如何显示在不同的元素内显示元素。

单元格边距(Cell padding)

本例演示如何使用 Cell padding 来创建单元格内容与其边框之间的空白。

单元格间距(Cell spacing)

本例演示如何使用 Cell spacing 增加单元格之间的距离。

HTML 表格标签

标签描述
<table>定义表格
<th>定义表格的表头
<tr>定义表格的行
<td>定义表格单元
<caption>定义表格标题
<colgroup>定义表格列的组
<col>定义用于表格列的属性
<thead>定义表格的页眉
<tbody>定义表格的主体
<tfoot>定义表格的页脚

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

ootstrap Table 封装了一套完善的数据表格组件,把下面的代码复制一下估计你需要的基本功能都有了,没有的再看看手册看着我给的实例也能很快的熟悉了。

客户端

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Bootstrap-Table</title>
 <link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.min.css"/>
 <link rel="stylesheet" href="assets/bootstrap-table.css"/>
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
</head>
<body>
 <div>
 <div>
 <div class="col-*-12">
 
 <div id="toolbar">
 <div class="btn btn-primary" data-toggle="modal" data-target="#addModal">添加记录</div>
 </div>
 
 <table id="mytab" class="table table-hover"></table>
 
 <div class="modal fade" id="addModal" tabindex="-1" role="dialog" aria-hidden="true">
 <div class="modal-dialog">
 <div class="modal-content">
 <div class="modal-header">
 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
 ×
 </button>
 <h4 class="modal-title" id="myModalLabel">添加记录</h4>
 </div>
 <div class="modal-body">
 <form role="form" action="javascript:void(0)">
 <div class="form-group">
 <input type="text" class="form-control" id="name" placeholder="请输入名称">
 </div>
 <div class="form-group">
 <input type="text" class="form-control" id="age" placeholder="请输入年龄">
 </div>
 </form>
 </div>
 <div class="modal-footer">
 <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
 <button type="button" class="btn btn-primary" id="addRecord">提交</button>
 </div>
 </div>
 </div>
 </div>
 
 </div>
 </div>
 </div>
 <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
 <script src="http://apps.bdimg.com/libs/bootstrap/3.3.4/js/bootstrap.min.js"></script>
 <script src="assets/bootstrap-table.js"></script>
 <script src="assets/bootstrap-table-zh-CN.js"></script>
 <script type="text/javascript">
 $(function() {
 //根据窗口调整表格高度
 $(window).resize(function() {
 $('#mytab').bootstrapTable('resetView', {
 height: tableHeight()
 })
 })
 
 $('#mytab').bootstrapTable({
 url: "index.php",//数据源
 dataField: "rows",//服务端返回数据键值 就是说记录放的键值是rows,分页时使用总记录数的键值为total
 height: tableHeight(),//高度调整
 search: true,//是否搜索
 pagination: true,//是否分页
 pageSize: 20,//单页记录数
 pageList: [5, 10, 20, 50],//分页步进值
 sidePagination: "server",//服务端分页
 contentType: "application/x-www-form-urlencoded",//请求数据内容格式 默认是 application/json 自己根据格式自行服务端处理
 dataType: "json",//期待返回数据类型
 method: "post",//请求方式
 searchAlign: "left",//查询框对齐方式
 queryParamsType: "limit",//查询参数组织方式
 queryParams: function getParams(params) {
 //params obj
 params.other = "otherInfo";
 return params;
 },
 searchOnEnterKey: false,//回车搜索
 showRefresh: true,//刷新按钮
 showColumns: true,//列选择按钮
 buttonsAlign: "left",//按钮对齐方式
 toolbar: "#toolbar",//指定工具栏
 toolbarAlign: "right",//工具栏对齐方式
 columns: [
 {
 title: "全选",
 field: "select",
 checkbox: true,
 width: 20,//宽度
 align: "center",//水平
 valign: "middle"//垂直
 },
 {
 title: "ID",//标题
 field: "id",//键名
 sortable: true,//是否可排序
 order: "desc"//默认排序方式
 },
 {
 field: "name",
 title: "NAME",
 sortable: true,
 titleTooltip: "this is name"
 },
 {
 field: "age",
 title: "AGE",
 sortable: true,
 },
 {
 field: "info",
 title: "INFO[using-formatter]",
 formatter: 'infoFormatter',//对本列数据做格式化
 }
 ],
 onClickRow: function(row, $element) {
 //$element是当前tr的jquery对象
 $element.css("background-color", "green");
 },//单击row事件
 locale: "zh-CN"//中文支持,
 detailView: false, //是否显示详情折叠
 detailFormatter: function(index, row, element) {
 var html = '';
 $.each(row, function(key, val){
 html += "<p>" + key + ":" + val + "</p>"
 });
 return html;
 }
 });
 
 $("#addRecord").click(function(){
 alert("name:" + $("#name").val() + " age:" +$("#age").val());
 });
 })
 
 function tableHeight() {
 return $(window).height() - 50;
 }
 /**
 * 列的格式化函数 在数据从服务端返回装载前进行处理
 * @param {[type]} value [description]
 * @param {[type]} row [description]
 * @param {[type]} index [description]
 * @return {[type]} [description]
 */
 function infoFormatter(value, row, index)
 {
 return "id:" + row.id + " name:" + row.name + " age:" + row.age;
 }
 </script>
</body>
</html>

服务端:

<?php
/**
 * 服务端模拟数据
 */
 
//前端期望数据为json
header("Content-Type:application/json;charset=utf-8");
//post 请求 请求内容类型为 application/x-www-form-urlencoded 如果是 application/json 则需要另行处理 $_POST 数组不会被填充
 
//为了保持模拟的数据
session_start();
 
if ($_SESSION['emulate_data']) {
 //已生成
} else {
 $list = [];
 //第一次会模拟个数据
 for($i = 1; $i < 50; $i ++) {
 $list[] = [
 "id" => $i,
 "name" => substr(str_shuffle(implode('', range('a', 'z'))), 0, 5),
 "age" => mt_rand(10, 30)
 ];
 }
 $_SESSION['emulate_data'] = $list;
}
 
$list_temp = [];
//检索
if (isset($_POST['search']) && !empty($_POST['search'])) {
 foreach ($_SESSION['emulate_data'] as $key => $row) {
 if (strpos($row['name'], $_POST['search']) !== false
 || strpos($row['age'], $_POST['search']) !== false) {
 $list_temp[] = $_SESSION['emulate_data'][$key];
 }
 }
} else {
 $list_temp = $_SESSION['emulate_data'];
}
//排序
if (isset($_POST['sort'])) {
 $temp = [];
 foreach ($list_temp as $row) {
 $temp[] = $row[$_POST['sort']];
 }
 //php的多维排序
 array_multisort($temp,
 $_POST['sort'] == 'name' ? SORT_STRING : SORT_NUMERIC,
 $_POST['order'] == 'asc' ? SORT_ASC : SORT_DESC,
 $list_temp
 );
}
 
//分页时需要获取记录总数,键值为 total
$result["total"] = count($list_temp);
//根据传递过来的分页偏移量和分页量截取模拟分页 rows 可以根据前端的 dataField 来设置
$result["rows"] = array_slice($list_temp, $_POST['offset'], $_POST['limit']);
 
echo json_encode($result);

如上的json数据(当然我前台设置的期望数据类型是json,php 直接encode一个 ["total"=>200, "rows"=>[[],[],][,][,]]的数组就完事了,方便)

2、且其请求后端是传递的内容格式默认为 application/json 我自己习惯用方便的 x-www-form-urlencoded

如果大家还想深入学习,可以私信小明,为大家提供一套前端的学习资料:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。