CSS Table(表格)

表格是展示二维数据最直观的方式。HTML 提供 table、tr、th、td 等标签搭建结构,但默认外观简陋:无边框、单元格贴在一起。CSS 通过边框、间距、颜色、对齐等属性,可以把表格修饰得清晰专业,数据一目了然。

默认外观与加边框

浏览器默认不给表格画边框,需要手动为 table、th、td 添加:

table, th, td {
    border: 1px solid #ccc;
}
<table><tr><th>姓名</th><th>成绩</th></tr><tr><td>小明</td><td>90</td></tr></table>

效果说明:th 是表头单元格(默认加粗居中),td 是普通单元格;上面的代码给整个表格画上细边框。

合并边框 border-collapse

默认每个单元格各自画边框,相邻处形成"双线";collapse 可合并为单线:

table {
    border-collapse: collapse;  /* 合并相邻边框 */
}

效果说明:collapse 让相邻边框合成一条,表格干净紧凑;separate 是默认值,保留双线效果。

单元格内边距与对齐

给 th/td 加 padding 留出空间,用 text-align 控制内容对齐:

th, td {
    padding: 8px 12px;
    text-align: left;      /* 数据左对齐 */
}
th { text-align: center; } /* 表头居中 */

效果说明:padding 让文字不再紧贴边框;表头与数据分别对齐,整体更整齐耐看。

宽度与布局

width 控制表格整体宽度,table-layout 决定列宽如何计算:

table {
    width: 100%;           /* 表格占满容器 */
    table-layout: fixed;   /* 固定布局:列宽按第一行均分 */
}

效果说明:fixed 让各列宽度依据首行均分,长文本会换行而不撑破表格,适合列数固定的数据表。

隔行变色与悬停高亮

利用 :nth-child 伪类做斑马纹,用 :hover 提升可读性:

tr:nth-child(even) { background-color: #f2f2f2; } /* 偶数行浅灰 */
tr:hover { background-color: #d9edf7; }            /* 悬停变蓝 */
<table><tr><th>商品</th><th>价格</th></tr><tr><td>苹果</td><td>5</td></tr><tr><td>香蕉</td><td>3</td></tr></table>

效果说明:奇偶行颜色交替、鼠标划过行高亮,长表格更容易逐行阅读。

综合示例

把以上技巧合在一起,一个美观的"成绩表"就完成了:

table { width: 100%; border-collapse: collapse; }
th, td { border: 1px solid #ddd; padding: 8px; text-align: center; }
th { background-color: #4caf50; color: white; }
tr:nth-child(even) { background-color: #f9f9f9; }

效果说明:绿色表头配白字、单线边框加斑马纹,结构清晰、配色统一,可直接用于真实页面。

小结

表格样式要点有四:给 table/th/td 统一加边框、用 border-collapse: collapse 合并双线、设置单元格 padding 与对齐、用 nth-child 做隔行变色。掌握这些,数据表格既规整又美观。

笔记加载中…