CSS代码:好看的表格样式,表格和父元素同宽,还要能够手工调整列宽
时间: 2023-12-17 19:03:52 浏览: 75
可以尝试以下代码:
HTML:
```html
<div class="table-wrapper">
<table>
<thead>
<tr>
<th>列1</th>
<th>列2</th>
<th>列3</th>
</tr>
</thead>
<tbody>
<tr>
<td>行1 列1</td>
<td>行1 列2</td>
<td>行1 列3</td>
</tr>
<tr>
<td>行2 列1</td>
<td>行2 列2</td>
<td>行2 列3</td>
</tr>
<tr>
<td>行3 列1</td>
<td>行3 列2</td>
<td>行3 列3</td>
</tr>
</tbody>
</table>
</div>
```
CSS:
```css
.table-wrapper {
overflow-x: auto;
}
table {
width: 100%;
border-collapse: collapse;
text-align: center;
}
th,
td {
padding: 8px;
border: 1px solid #ccc;
white-space: nowrap;
}
thead th {
background-color: #f2f2f2;
}
td:first-child,
th:first-child {
text-align: left;
}
th:not(:first-child),
td:not(:first-child) {
cursor: col-resize;
}
th:hover:not(:first-child),
td:hover:not(:first-child) {
background-color: #f2f2f2;
}
```
解释:
- `.table-wrapper` 作为容器,设置 `overflow-x: auto` 可以实现表格宽度超出容器时可以滚动查看。
- `table` 设置 `width: 100%` 和 `border-collapse: collapse` 使表格和其父元素同宽并去除边框之间的间隙。
- `th` 和 `td` 设置 `padding: 8px` 和 `border: 1px solid #ccc` 进行基本样式设置。
- `thead th` 设置 `background-color: #f2f2f2`,使表头背景色更明显。
- `td:first-child, th:first-child` 设置 `text-align: left`,使第一列左对齐。
- `th:not(:first-child), td:not(:first-child)` 设置 `cursor: col-resize`,使除第一列以外的单元格鼠标移动时变为可调整列宽的样式。
- `th:hover:not(:first-child), td:hover:not(:first-child)` 设置 `background-color: #f2f2f2`,使鼠标移动到除第一列以外的单元格时背景色变浅,增强可读性。
阅读全文