制作css表格
CSS表格制作方法
使用CSS创建表格可以通过原生HTML表格标签结合CSS样式,或完全用CSS模拟表格布局。
使用HTML表格标签
通过<table>、<tr>、<td>等标签配合CSS样式:
<table class="styled-table">
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
</tr>
</table>
.styled-table {
width: 100%;
border-collapse: collapse;
}
.styled-table th, .styled-table td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
.styled-table th {
background-color: #f2f2f2;
}
.styled-table tr:nth-child(even) {
background-color: #f9f9f9;
}
使用CSS Grid模拟表格
通过CSS Grid布局实现表格效果:
<div class="grid-table">
<div class="header">Header 1</div>
<div class="header">Header 2</div>
<div class="cell">Data 1</div>
<div class="cell">Data 2</div>
</div>
.grid-table {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1px;
background-color: #ddd;
}
.grid-table > div {
padding: 8px;
background: white;
}
.header {
font-weight: bold;
background-color: #f2f2f2 !important;
}
使用Flexbox模拟表格
通过Flexbox布局创建表格结构:
<div class="flex-table">
<div class="row">
<div class="cell header">Header 1</div>
<div class="cell header">Header 2</div>
</div>
<div class="row">
<div class="cell">Data 1</div>
<div class="cell">Data 2</div>
</div>
</div>
.flex-table {
width: 100%;
}
.row {
display: flex;
}
.cell {
flex: 1;
padding: 8px;
border: 1px solid #ddd;
}
.header {
font-weight: bold;
background-color: #f2f2f2;
}
.row:nth-child(even) .cell:not(.header) {
background-color: #f9f9f9;
}
响应式表格处理
针对移动设备添加响应式设计:
@media screen and (max-width: 600px) {
table.responsive-table {
border: 0;
}
table.responsive-table thead {
display: none;
}
table.responsive-table tr {
margin-bottom: 10px;
display: block;
border: 1px solid #ddd;
}
table.responsive-table td {
display: block;
text-align: right;
border-bottom: 1px solid #ddd;
}
table.responsive-table td::before {
content: attr(data-label);
float: left;
font-weight: bold;
}
}
每种方法各有优势:原生表格标签语义化最好,CSS Grid适合复杂布局,Flexbox提供更灵活的排列方式。根据具体需求选择最合适的实现方案。







