Bootstrap 响应式表格
使用 Bootstrap 创建响应式表格的方法
问题
Bootstrap 如何设置响应式表格?
解答
基本用法
用 .table-responsive 类包裹表格,当表格宽度超出容器时会出现水平滚动条:
<!-- 始终响应式 -->
<div class="table-responsive">
<table class="table">
<thead>
<tr>
<th>姓名</th>
<th>邮箱</th>
<th>电话</th>
<th>地址</th>
<th>公司</th>
<th>职位</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>zhangsan@example.com</td>
<td>13800138000</td>
<td>北京市朝阳区</td>
<td>某科技公司</td>
<td>前端工程师</td>
</tr>
</tbody>
</table>
</div>
按断点响应
可以指定在特定断点以下才启用响应式:
<!-- 小于 576px 时响应式 -->
<div class="table-responsive-sm">
<table class="table">...</table>
</div>
<!-- 小于 768px 时响应式 -->
<div class="table-responsive-md">
<table class="table">...</table>
</div>
<!-- 小于 992px 时响应式 -->
<div class="table-responsive-lg">
<table class="table">...</table>
</div>
<!-- 小于 1200px 时响应式 -->
<div class="table-responsive-xl">
<table class="table">...</table>
</div>
<!-- 小于 1400px 时响应式 (Bootstrap 5) -->
<div class="table-responsive-xxl">
<table class="table">...</table>
</div>
完整示例
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>响应式表格示例</title>
<!-- 引入 Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container cj661">
<h4>用户列表</h4>
<!-- 响应式表格容器 -->
<div class="table-responsive">
<!-- 表格样式:带边框、条纹、悬停效果 -->
<table class="table table-bordered table-striped table-hover">
<thead class="table-dark">
<tr>
<th>ID</th>
<th>姓名</th>
<th>邮箱</th>
<th>电话</th>
<th>注册时间</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>张三</td>
<td>zhangsan@example.com</td>
<td>13800138001</td>
<td>2024-01-15</td>
<td><span class="badge bg-success">正常</span></td>
<td>
<button class="btn btn-sm btn-primary">编辑</button>
<button class="btn btn-sm btn-danger">删除</button>
</td>
</tr>
<tr>
<td>2</td>
<td>李四</td>
<td>lisi@example.com</td>
<td>13800138002</td>
<td>2024-02-20</td>
<td><span class="badge bg-warning">待审核</span></td>
<td>
<button class="btn btn-sm btn-primary">编辑</button>
<button class="btn btn-sm btn-danger">删除</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
关键点
- 用
.table-responsive包裹<table>,不是加在表格上 .table-responsive会在内容溢出时显示水平滚动条.table-responsive-{sm|md|lg|xl|xxl}可指定断点,只在该断点以下生效- 响应式容器默认
overflow-x: auto - 常与
.table-bordered、.table-striped等样式类配合使用
目录