CSS 表格

创建于 2024-12-03 / 31
字体: [默认] [大] [更大]

使用 CSS 可以极大地改善 HTML 表格的外观:

Company Contact Country
Alfreds Futterkiste Maria Anders Germany
Berglunds snabbköp Christina Berglund Sweden
Centro comercial Moctezuma Francisco Chang Mexico
Ernst Handel Roland Mendel Austria
Island Trading Helen Bennett UK
Königlich Essen Philip Cramer Germany
Laughing Bacchus Winecellars Yoshi Tannamuri Canada
Magazzini Alimentari Riuniti Giovanni Rovelli Italy

亲自试一试 »

表格边框

如需在 CSS 中设置表格边框,请使用 border 属性。

下例为 <table>、<th> 和 <td> 元素规定了黑色边框:

实例

table, th, td {
  border: 1px solid black;
} 亲自试一试 »

注意:上例中的表格拥有双边框。这是因为 table 和 <th> 和 <td> 元素都有单独的边框。


合并表格边框

border-collapse 属性设置是否将表格边框折叠为单一边框:

实例

table {
  border-collapse: collapse;
}

table, th, td {
  border: 1px solid black;
} 亲自试一试 »

如果只希望表格周围有边框,则仅需为 <table> 指定 border 属性:

实例

table {
  border: 1px solid black;
} 亲自试一试 »

表格宽度和高度

表格的宽度和高度由 widthheight 属性定义。

下例将表的宽度设置为 100%,将 <th> 元素的高度设置为 50px:

实例

table {
  width: 100%;
}

th {
  height: 50px;
} 亲自试一试 »

水平对齐

text-align 属性设置 <th> 或 <td> 中内容的水平对齐方式(左、右或居中)。

默认情况下,<th> 元素的内容居中对齐,而 <td> 元素的内容左对齐。

要使 <td> 元素的内容也居中对齐,请使用 text-align: center:

实例

th {
  text-align: left;
} 亲自试一试 »

垂直对齐

vertical-align 属性设置 <th> 或 <td> 中内容的垂直对齐方式(上、下或居中)。

默认情况下,表中内容的垂直对齐是居中(<th> 和 <td> 元素都是)。

下例将 <td> 元素的垂直文本对齐方式设置为下对齐:

实例

td {
  height: 50px;
  vertical-align: bottom;
} 亲自试一试 »

表格内边距

如需控制边框和表格内容之间的间距,请在 <td> 和 <th> 元素上使用 padding 属性:

实例

th, td {
  padding: 15px;
  text-align: left;
} 亲自试一试 »

水平分隔线

First Name Last Name Savings
Peter Griffin $100
Lois Griffin $150
Joe Swanson $300

向 <th> 和 <td> 添加 border-bottom 属性,以实现水平分隔线:

实例

th, td {
  border-bottom: 1px solid #ddd;
} 亲自试一试 »

可悬停表格

在 <tr> 元素上使用 :hover 选择器,以突出显示鼠标悬停时的表格行:

First Name Last Name Savings
Peter Griffin $100
Lois Griffin $150
Joe Swanson $300

实例

tr:hover {background-color: #f5f5f5;} 亲自试一试 »

条状表格

First Name Last Name Savings
Peter Griffin $100
Lois Griffin $150
Joe Swanson $300

为了实现斑马纹表格效果,请使用 nth-child() 选择器,并为所有偶数(或奇数)表行添加 background-color:

实例

tr:nth-child(even) {background-color: #f2f2f2;} 亲自试一试 »

表格颜色

下例指定了 <th> 元素的背景颜色和文本颜色:

First Name Last Name Savings
Peter Griffin $100
Lois Griffin $150
Joe Swanson $300

实例

th {
  background-color: #4CAF50;
  color: white;
} 亲自试一试 »

响应式表格

如果屏幕太小而无法显示全部内容,则响应式表格会显示水平滚动条:

First Name Last Name Points Points Points Points Points Points Points Points Points Points Points Points
Jill Smith 50 50 50 50 50 50 50 50 50 50 50 50
Eve Jackson 94 94 94 94 94 94 94 94 94 94 94 94
Adam Johnson 67 67 67 67 67 67 67 67 67 67 67 67

在 <table> 元素周围添加带有 overflow-x:auto 的容器元素(例如 <div>),以实现响应式效果:

实例

<div style="overflow-x:auto;">

<table>
... table content ...
</table>

</div> 亲自试一试 »

注释: 在 OS X Lion(在 Mac 上)中,滚动条默认情况下是隐藏的,并且仅在使用时显示(即使设置了 "overflow:scroll")。


更多实例

做一张花式表格
本例演示如何创建花式表格。

设置表格标题的位置
本例演示了如何放置表格标题。


CSS 习题和测验

测验 1 » 测验 2 » 测验 3 » 测验 4 » 测验 5 » 测验 6 »

CSS 表格属性

属性 描述
border 简写属性。在一条声明中设置所有边框属性。
border-collapse 规定是否应折叠表格边框。
border-spacing 规定相邻单元格之间的边框的距离。
caption-side 规定表格标题的位置。
empty-cells 规定是否在表格中的空白单元格上显示边框和背景。
table-layout 设置用于表格的布局算法。


0 人点赞过