网页制作css表格
CSS表格制作方法
使用CSS创建表格可以通过多种方式实现,包括原生HTML表格元素、Flexbox布局或Grid布局。以下是几种常见方法:
HTML原生表格样式化
<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 tr:nth-child(even) {
background-color: #f2f2f2;
}
.styled-table th {
background-color: #4CAF50;
color: white;
}
使用Flexbox创建表格
<div class="flex-table">
<div class="flex-row header">
<div class="flex-cell">Header 1</div>
<div class="flex-cell">Header 2</div>
</div>
<div class="flex-row">
<div class="flex-cell">Data 1</div>
<div class="flex-cell">Data 2</div>
</div>
</div>
.flex-table {
display: flex;
flex-direction: column;
width: 100%;
}
.flex-row {
display: flex;
}
.flex-cell {
flex: 1;
padding: 8px;
border: 1px solid #ddd;
}
.header .flex-cell {
background-color: #4CAF50;
color: white;
font-weight: bold;
}
使用CSS Grid创建表格

<div class="grid-table">
<div class="grid-header">Header 1</div>
<div class="grid-header">Header 2</div>
<div class="grid-item">Data 1</div>
<div class="grid-item">Data 2</div>
</div>
.grid-table {
display: grid;
grid-template-columns: repeat(2, 1fr);
width: 100%;
}
.grid-header, .grid-item {
padding: 8px;
border: 1px solid #ddd;
}
.grid-header {
background-color: #4CAF50;
color: white;
font-weight: bold;
}
响应式表格设计
对于移动设备,可以添加响应式设计:
@media screen and (max-width: 600px) {
.styled-table {
display: block;
}
.styled-table thead {
display: none;
}
.styled-table tr {
margin-bottom: 10px;
display: block;
border: 1px solid #ddd;
}
.styled-table td {
display: block;
text-align: right;
border-bottom: 1px solid #ddd;
}
.styled-table td::before {
content: attr(data-label);
float: left;
font-weight: bold;
}
}
表格美化技巧
添加悬停效果:

.styled-table tr:hover {
background-color: #ddd;
}
添加斑马纹效果:
.styled-table tr:nth-child(odd) {
background-color: #f9f9f9;
}
圆角边框:
.styled-table {
border-radius: 5px;
overflow: hidden;
}
阴影效果:
.styled-table {
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}






