W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

CSS 表格(Table)



使用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>元素的黑色边框:

Example

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

请注意,在上面的例子中的表格有双边框。这是因为表和 <th> 和 <td> 元素有独立的边界。


折叠边框

border-collapse 属性设置表格的边框是否被折叠成一个单一的边框或隔开:

Example

table {
    border-collapse: collapse;
}

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

如果只需要在表周围设置边框,则只为 <table> 指定 border 属性:

Example

table {
    border: 1px solid black;
}
尝试一下 »

表格宽度和高度

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

下面的例子是设置100%的宽度,50px的 <th> 元素的高度的表格:

Example

table {
    width: 100%;
}

th {
    height: 50px;
}
尝试一下 »

水平对齐

text-align 属性设置水平对齐方式,像左,右,或中心:

Example

th {
    text-align: left;
}
尝试一下 »

垂直对齐

vertical-align 属性设置垂直对齐,比如顶部,底部或中间:

Example

td {
    height: 50px;
    vertical-align: bottom;
}
尝试一下 »

表格填充

如果在表的内容中控制空格之间的边框,应使用 <td> 和 <th> 元素的 padding 属性:

Example

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

水平分割

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

添加 border-bottom 属性可以对 <th> 和 <td> 进行水平分割:

Example

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

悬停效果表格

在 <tr> 上使用 :hover 选择器在可以突出显示,当鼠标划过的时候:

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

Example

tr:hover {background-color: #f5f5f5}
尝试一下 »

条纹状表格

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

使用 nth-child() 选择器和添加 background-color 属性到所有的奇数(或偶数)列即可形成斑马条纹样式的表格:

Example

tr:nth-child(even) {background-color: #f2f2f2}
尝试一下 »

表格颜色

下面的例子指定边框的颜色,和 <th> 元素的文本和背景颜色:

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

Example

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

Example

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

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

</div>
尝试一下 »

Examples

更多实例

制作一个个性表格
这个例子演示了如何创建一个个性的表格。

设置表格标题的位置
这个例子演示了如何定位表格标题。


CSS表格属性

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