table表头固定表体滚动(动态出内部滚动条)

效果如图

在这里插入图片描述

代码实现

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
	</head>
	<script src="jquery.min.js"></script>
	<style>
		th,
		td {
     
     
			width: 200px;
			height: 50px;
			border: 1px solid #ccc;
			text-align: center;
		}

		table {
     
     
			border-collapse: collapse;
			width: 100%;
			table-layout: fixed;
		}

		.table-head {
     
     
			overflow: hidden;
		}

		.table-body {
     
     
			overflow: auto;
			height: calc(100vh - 283px);
		}

		.tableContent {
     
     
			width: 500px;
			margin: 0 auto;
		}
		.cell{
     
     
			width: 15px;
		}
	</style>
	<body>
		<div class="tableContent">
			<div class="table-head">
				<table border="0" cellspacing="0">
					<thead>
						<tr>
							<th>姓名</th>
							<th>年龄</th>
							<th>爱好</th>
							<th>姓名</th>
							<th>年龄</th>
							<th>爱好</th>
						</tr>
					</thead>
				</table>
			</div>
			<div class="table-body">
				<table border="0" cellspacing="0">
					<tbody>
						<tr>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
						</tr>
						<tr>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
						</tr>
						<tr>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
						</tr>
						<tr>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
						</tr>
						<tr>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
						</tr>
						<tr>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
						</tr>
						<tr>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
						</tr>
						<tr>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
						</tr>
						<tr>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
						</tr>
						<tr>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
							<td>张三</td>
							<td>18</td>
							<td>足球</td>
						</tr>
						<tr>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
							<td>李四</td>
							<td>19</td>
							<td>篮球</td>
						</tr>
						<tr>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
							<td>王五</td>
							<td>20</td>
							<td>台球</td>
						</tr>
					</tbody>
				</table>
			</div>
		</div>
	</body>
	<script>
		var $tableHead = $('.table-head');
		var $tableBody = $('.table-body');
		// 表体带着表头滚动
		$tableBody.scroll(function(ev) {
     
     
			$tableHead.scrollLeft($tableBody.scrollLeft());
		});
		
		scrollResize()
		window.onresize = function() {
     
     
			scrollResize()
		}
		// 判断是否需要出滚动条
		function scrollResize(){
     
     
			if($('.table-body').height() < $('.table-body table').height()){
     
     
				$('.cell').remove();
				$('.table-head tr').append('<th class="cell"></th>');
			}
		}
	</script>
</html>

猜你喜欢

转载自blog.csdn.net/qq_42068550/article/details/113771094