04-08、表格标签table
概述
表格:是一种行和列组合而成的单元格。一般应用于后台网页设计管理数据使用。
表格的架构部分:
- table
- table head 表格头 thead
- table body - 表格体 tbody
- table foot -表格的页脚 tfoot
表格的基本组成部分:
- table row - tr 表格中的行
- table data cell - td 表格中的单元格
- table header cell -th 表格中的头部的单元格
表格的基本语法:
<!--table表格标签-->
<table border="1px"><!--tr 行标签--><tr><!--td 单元格标签--><td>第1个单元格的内容</td><td>第2个单元格的内容</td>……</tr><tr><td>第1个单元格的内容</td><td>第2个单元格的内容</td>……</tr>
</table>
代码
简单表格:
<!--table表格标签-->
<table border="1px"><!--tr 行标签--><tr><!--td 单元格标签--><td>第1个单元格的内容</td><td>第2个单元格的内容</td>……</tr><tr><td>第1个单元格的内容</td><td>第2个单元格的内容</td>……</tr>
</table>
表格完整分类
demo15.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>表格table</title><style>*{margin: 0;padding: 0;}body{margin: 100px;}table{width: 100%;border-collapse:collapse;margin: 20px 0;}table thead th,table tbody td{text-align: left;padding:10px;border:1px solid #ccc} .thead th,.tbody td{text-align: left;padding:10px;border:1px solid #ccc} </style>
</head>
<body><!--简单表格--><table ><tr class="thead"><th>ID</th><th>姓名</th><th>年龄</th><th>操作</th></tr><tr class="tbody"><td>1</td><td>飞哥</td><td>35</td><td>编辑</td></tr><tr class="tbody"><td>2</td><td>狂神</td><td>25</td><td>编辑</td></tr></table><hr><!--完整表格--><table ><thead><tr><th>ID</th><th>姓名</th><th>年龄</th><th>操作</th></tr></thead><tbody><tr><td>1</td><td>飞哥</td><td>35</td><td>编辑</td></tr><tr><td>2</td><td>狂神</td><td>25</td><td>编辑</td></tr></tbody><tfoot><tr><td colspan="10">总共:2个用户</td></tr></tfoot></table></body>
</html>
- table > thead > td > th 默认是加粗 + 居中
- table > tbody> td > td 默认是不加粗 + 居左
合并单元格 - 合并行—>rowspan
demo16.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>表格table</title><style>*{margin: 0;padding: 0;}body{margin: 100px;}table{width: 100%;border-collapse:collapse;margin: 20px 0;}table thead th,table tbody td,table tfoot td{text-align: left;padding:10px;border:1px solid #ccc} </style>
</head>
<body><!--完整表格--><table ><thead><tr><th>ID</th><th>姓名</th><th>年龄</th><th>总年龄</th><th>操作</th></tr></thead><tbody><tr><td rowspan="2">1</td><td>飞哥</td><td>35</td><td rowspan="2">60</td><td>编辑</td></tr><tr><td>狂神</td><td>25</td><td>编辑</td></tr></tbody><tfoot><tr><td colspan="5" >总共:2个用户</td></tr></tfoot></table></body>
</html>
合并单元格 - 合并列—>colspan
<!--合并单元格的问题 -- 合并列--><div><h3>合并单元格的问题 -- 合并列</h3><table border="1" width="100%"><thead><tr><th>ID</th><th>用户姓名</th><th>年龄</th><th>操作</th></tr></thead><tbody><tr><td>1</td><td>狂神</td><td>20</td><td><a href="#">编辑</a><a href="#">移除</a></td></tr><tr><td>1</td><td>飞哥</td><td>35</td><td><a href="#">编辑</a><a href="#">移除</a></td></tr></tbody><tfoot><tr><td colspan="4">总计:2人 性别男:2个 性别女:0个 平均年龄:30</td></tr></tfoot></table></div>
表格的跨行和跨列
<!--文档类型:主要定义页面支持的标签类型,以及后续每个标签的命名,特征和行为-->
<!DOCTYPE html>
<!--整个页面的根元素-->
<html>
<!--页面的头部:主要用来设置浏览器解析页面时候的编码,头信息,页面描述、关键字,css样式列表引入和js引入,响应式规则等--><head><!--告诉浏览器解析网页的内容使用utf-8进行编码--><meta charset="utf-8"><!--响应式规则--><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!--设置关键字和描述--><meta name="keywords" content="KuangStudy,KuangStudy文章,KuangStudy博客,KuangStudy论坛,KuangStudy学习,学相伴"><meta name="description" content="KuangStudy是一个致力于为每个想学习知识的人提供一个少走弯路的平台,包含优质体系课程、文章博客、专栏书写、技术论坛、资源下载等产品服务,提供有用、优质、完整内容的自学交流社区."><!--设置图标--><link rel="shortcut icon" href="https://www.baidu.com/favicon.ico" type="image/x-icon"><!--给浏览器的标签上显示标题,也可以作为网页收藏的文字--><title>表格分组-学相伴</title>
</head><body><!---完整的表格 --><div><h3>完整的表格</h3><table border="1" width="100%"><colgroup><col width="200px" align="center" /><col /><col /><col /><col width="100px" /></colgroup><thead><tr><th>ID</th><th>用户姓名</th><th>年龄</th><th>地址</th><th>操作</th></tr></thead><tbody><tr><td>1</td><td>狂神</td><td>20</td><td>重庆</td><td><a href="#">编辑</a><a href="#">移除</a></td></tr><tr><td>1</td><td>飞哥</td><td>35</td><td>湖南</td><td><a href="#">编辑</a><a href="#">移除</a></td></tr></tbody><tfoot><tr><td colspan="5">分页</td></tr></tfoot></table></div></body></html>
表格和表单组合
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><!--table表格标签--><table border="1" width="100%"><tr><td>标题</td><td>年龄</td><td>操作</td></tr><tr><td><input type='text' /></td><td><input type='text' /></td><td><button>编辑</button><button>删除</button></td></tr></table>
</body>
</html>
固定表格列的宽度
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><!--table表格标签--><table border="1" width="100%"><tr><td align="center" width="200px">标题</td><td>年龄</td><td>操作</td></tr><tr><td align="center" width="200px"><input type='text' /></td><td><input type='text' /></td><td><button>编辑</button><button>删除</button></td></tr></table>
</body></html>
colgroup统一设置列的宽度和对齐方式
<!--文档类型:主要定义页面支持的标签类型,以及后续每个标签的命名,特征和行为-->
<!DOCTYPE html>
<!--整个页面的根元素-->
<html>
<!--页面的头部:主要用来设置浏览器解析页面时候的编码,头信息,页面描述、关键字,css样式列表引入和js引入,响应式规则等--><head><!--告诉浏览器解析网页的内容使用utf-8进行编码--><meta charset="utf-8"><!--响应式规则--><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!--设置关键字和描述--><meta name="keywords" content="KuangStudy,KuangStudy文章,KuangStudy博客,KuangStudy论坛,KuangStudy学习,学相伴"><meta name="description" content="KuangStudy是一个致力于为每个想学习知识的人提供一个少走弯路的平台,包含优质体系课程、文章博客、专栏书写、技术论坛、资源下载等产品服务,提供有用、优质、完整内容的自学交流社区."><!--设置图标--><link rel="shortcut icon" href="https://www.baidu.com/favicon.ico" type="image/x-icon"><!--给浏览器的标签上显示标题,也可以作为网页收藏的文字--><title>表格分组-学相伴</title>
</head><body><!---完整的表格 --><div><h3>完整的表格</h3><table border="1" width="100%"><colgroup><col width="200px" align="center" /><col /><col /><col /><col width="100px" /></colgroup><thead><tr><th>ID</th><th>用户姓名</th><th>年龄</th><th>地址</th><th>操作</th></tr></thead><tbody><tr><td>1</td><td>狂神</td><td>20</td><td>重庆</td><td><a href="#">编辑</a><a href="#">移除</a></td></tr><tr><td>1</td><td>飞哥</td><td>35</td><td>湖南</td><td><a href="#">编辑</a><a href="#">移除</a></td></tr></tbody><tfoot><tr><td colspan="5">分页</td></tr></tfoot></table></div></body></html>
注意col元素-只能控制宽度,不能控制对齐方式,如果都设置了会忽略宽度,变成自动分配。
场景
-
https://preview.pro.ant.design/ 后台管理系统
-
https://v3.bootcss.com/css/#tables
demo01---->合并
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=<device-width>, initial-scale=1.0"><title>Document</title><style>.container{width: 960px;margin: 0 auto; background: #fafafa; padding: 20px;}/* 合并边框 */table{border-collapse: collapse; width: 100%;}/* solid实线 text-align: center;全部居中*/table tr th,table tr td{border: 1px solid #111; padding: 10px; text-align: center;}</style>
</head>
<body><div class="container"><h1>表格的认识table</h1><div>横向是合并:列 colspan=,垂直方向是合并:行 rowspan= 最终合并时在td上</div><table><!-- 控制某一行的宽度 --><!-- <colgroup><col style="width: 500px;"/><col style="width: 500px;"/></colgroup> --><thead><tr><th>ID</th><th>姓名</th><th>年龄</th><th>操作</th></tr></thead><tbody><tr><td>1</td><td>小成</td><td>26</td><td>编辑,操作</td></tr><tr><td>1</td><td>小成</td><td>26</td><td>编辑,操作</td></tr></tbody><tfoot><tr><td colspan="5">分页</td><!-- <td>姓名</td><td>年龄</td><td>操作</td> --></tr></tfoot></table></div>
</body>
</html>
demo2—>选中的状态和淡入淡出的效果
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=<device-width>, initial-scale=1.0"><title>Document</title><style>.container{width:960px;margin: 0 auto;background:#fafafa;padding:20px;}.ksd-ui-table{border-collapse: collapse;width: 100%;}.ksd-ui-table tr th,.ksd-ui-table tr td{border:1px solid #ccc;padding:10px;text-align: center;}/* 淡入淡出的效果 */.ksd-ui-table tr{transition: 300ms;}/* 选中的状态 */.ksd-ui-table tr:hover{background:#eee;}</style>
</head>
<body><div class="container"><table class="ksd-ui-table"><thead><tr><th>ID</th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr></thead><tbody><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr></tbody><tfoot><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr></tfoot></table></div>
</body>
</html>
demo—>单双行界面
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=<device-width>, initial-scale=1.0"><title>Document</title><style>.container{width:960px;margin: 0 auto;background:#fafafa;padding:20px;}.ksd-ui-table{border-collapse: collapse;width: 100%;}.ksd-ui-table tr th,.ksd-ui-table tr td{border:1px solid #ccc;padding:10px;text-align: center;}/* 淡入淡出的效果 */.ksd-ui-table tr{transition: 300ms;}/* 单双行界面 */.ksd-ui-table tbody tr:nth-child(odd){background:#fafafa;}.ksd-ui-table tbody tr:nth-child(even){background:#eee;}/* 选中的状态 nth-child比hover优先级更高*/.ksd-ui-table tbody tr:hover{background:#111;color: #fff;}</style>
</head>
<body><div class="container"><table class="ksd-ui-table"><thead><tr><th>ID</th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr></thead><tbody><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr></tbody></table></div>
</body>
</html>
demo->给外部加边框
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=<device-width>, initial-scale=1.0"><title>Document</title><style>.container{width:960px;margin: 0 auto;background:#fafafa;padding:20px;}.ksd-ui-table{border-collapse: collapse;width: 100%;}/* 给外部加边框 border-bottom 去掉下边框*/.ksd-ui-table-box{border: 1px solid #ccc; border-bottom: 0px;}/* border-bottom只给底部加入边框 */.ksd-ui-table tr th,.ksd-ui-table tr td{border-bottom:1px solid #ccc;padding:10px;text-align: center;}/* 淡入淡出的效果 */.ksd-ui-table tr{transition: 300ms;}/* 单双行界面 */.ksd-ui-table tbody tr:nth-child(odd){background:#fafafa;}.ksd-ui-table tbody tr:nth-child(even){background:#eee;}/* 选中的状态 nth-child比hover优先级更高*/.ksd-ui-table tbody tr:hover{background:#111;color: #fff;}</style>
</head>
<body><div class="container"><div class="ksd-ui-table-box"><table class="ksd-ui-table"><thead><tr><th>ID</th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr></thead><tbody><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr></tbody></table></div></div>
</body>
</html>
demo–>悬浮定位和固定定位
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=<device-width>, initial-scale=1.0"><title>Document</title><style>.container{width:960px;margin: 0 auto;background:#fafafa;padding:20px;}/* table-layout: fixed;数据对齐 布局全部用fixed*/.ksd-ui-table{border-collapse: collapse;width: 100%; table-layout: fixed;}/* 给外部加边框 border-bottom 去掉下边框*/.ksd-ui-table-box{border: 1px solid #ccc; border-bottom: 0px;}/* border-bottom只给底部加入边框 */.ksd-ui-table tr th,.ksd-ui-table tr td{border-bottom:1px solid #ccc;padding:10px;text-align: center;}/* 淡入淡出的效果 */.ksd-ui-table tr{transition: 300ms;}/* 单双行界面 */.ksd-ui-table tbody tr:nth-child(odd){background:#fafafa;}.ksd-ui-table tbody tr:nth-child(even){background:#eee;}/* 选中的状态 nth-child比hover优先级更高*/.ksd-ui-table tbody tr:hover{background:#111;color: #fff;}/* 悬浮定位和固定定位 当滚动条加载到top:0的时候没救把定位static改成fixed*/.ksd-ui-table-headfix{position: sticky;top: 0; background: #fff;}</style>
</head>
<body><div class="container"><div class="ksd-ui-table-box"><table class="ksd-ui-table ksd-ui-table-headfix"><thead><tr><th>ID</th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr></thead></table><table class="ksd-ui-table"><tbody><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr><tr><td>ID</td> <td>姓名</td> <td>年龄</td> <td>操作</td> </tr></tbody></table></div></div>
</body>
</html>