CSS 基础(007_表格)

原始网址:http://www.w3schools.com/css/css_table.asp

翻译:

CSS Tables


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

<!DOCTYPE html>
<html lang="en-US">
    <head>
        <title>CSS Styling Tables</title>
        <meta charset="utf-8">
        <style>
            table#customers {
                font-size: 16px;
                font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
                border-collapse: collapse;
                border-spacing: 0;
                width: 100%;
            }

            #customers td, #customers th {
                border: 1px solid #ddd;
                text-align: left;
                padding: 8px;
            }

            #customers tr:nth-child(even) {
                background-color: #f2f2f2
            }

            #customers th {
                padding-top: 11px;
                padding-bottom: 11px;
                background-color: #4CAF50;
                color: white;
            }
        </style>
    </head>
    <body>
        <table id="customers">
            <tr>
                <th>Company</th>
                <th>Contact</th>
                <th>Country</th>
            </tr>
            <tr>
                <td>Alfreds Futterkiste</td>
                <td>Maria Anders</td>
                <td>Germany</td>
            </tr>
            <tr class="alt">
                <td>Berglunds snabbköp</td>
                <td>Christina Berglund</td>
                <td>Sweden</td>
            </tr>
            <tr>
                <td>Centro comercial Moctezuma</td>
                <td>Francisco Chang</td>
                <td>Mexico</td>
            </tr>
            <tr class="alt">
                <td>Ernst Handel</td>
                <td>Roland Mendel</td>
                <td>Austria</td>
            </tr>
            <tr>
                <td>Island Trading</td>
                <td>Helen Bennett</td>
                <td>UK</td>
            </tr>
            <tr class="alt">
                <td>Königlich Essen</td>
                <td>Philip Cramer</td>
                <td>Germany</td>
            </tr>
            <tr>
                <td>Laughing Bacchus Winecellars</td>
                <td>Yoshi Tannamuri</td>
                <td>Canada</td>
            </tr>
            <tr class="alt">
                <td>Magazzini Alimentari Riuniti</td>
                <td>Giovanni Rovelli</td>
                <td>Italy</td>
            </tr>
        </table>
    </body>
</html>

Table Borders

使用 CSS 的 border 属性可指定表格边框。
下列示例是对 <table><th><td> 元素指定了黑色边框:
Table Borders

<!DOCTYPE html>
<html>
    <head>
        <style>
            table {
                width: 100%;
            }
            table, th, td {
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
            </tr>
        </table>
    </body>
</html>

注意:以上示例中的表格是双边框。这是因为表格以及 <th><td> 元素拥有各自的独立边框。


Collapse Table Borders

border-collapse 属性用以设置表格边框是否合并(塌陷)为单边框:
Collapse Table Borders

<!DOCTYPE html>
<html>
    <head>
        <style>
            table {
                width: 100%;
                border-collapse: collapse;
            }

            table, td, th {
                border: 1px solid black;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
            </tr>
        </table>
        <p>
            <b>Note:</b> If a !DOCTYPE is not specified, the border-collapse
            property can produce unexpected results in IE8 and earlier versions.
        </p>
    </body>
</html>

Table Width and Height

widthheight 属性用以定义表格的宽和高。
下列示例设置表格的宽为 100%,设置 <th> 元素的高为 50px
Table Width and Height

<!DOCTYPE html>
<html>
    <head>
        <style>
            table, td, th {
                border: 1px solid black;
            }

            table {
                border-collapse: collapse;
                width: 100%;
            }

            th {
                height: 50px;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
                <th>Savings</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

Horizontal Alignment

text-align 属性用以设置 <th><td> 中的内容水平对齐(例如,左、右、居中)。
默认情况下,<th> 元素的内容是居中的,<td> 元素的内容是居左的。
下列示例是将 <th> 元素中的文本居左设置:
Horizontal Alignment

<!DOCTYPE html>
<html>
    <head>
        <style>
            table, td, th {
                border: 1px solid black;
            }

            table {
                border-collapse: collapse;
                width: 100%;
            }

            th {
                text-align: left;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
                <th>Savings</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

Vertical Alignment

vertical-align 属性用以设置 <th><td> 中的内容垂直对齐(例如,上、下、居中)。
默认情况下,表格中的内容是垂直居中的(对 <th><td> 元素而言)。
下列示例是将 <td> 元素中的文本居底设置:
Vertical Alignment

<!DOCTYPE html>
<html>
    <head>
        <style>
            table, td, th {
                border: 1px solid black;
            }

            table {
                border-collapse: collapse;
                width: 100%;
            }

            td {
                height: 50px;
                vertical-align: bottom;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
                <th>Savings</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

Table Padding

为了控制表格中边框和内容的空白区域,我们对 <th><td> 元素使用 padding 属性:
Table Padding

<!DOCTYPE html>
<html>
    <head>
        <style>
            table, td, th {
                border: 1px solid #ddd;
                text-align: left;
            }

            table {
                border-collapse: collapse;
                width: 100%;
            }

            th, td {
                padding: 15px;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
                <th>Savings</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

Horizontal Dividers

Horizontal Dividers

<!DOCTYPE html>
<html>
    <head>
        <style>
            table {
                border-collapse: collapse;
                width: 100%;
            }

            th, td {
                padding: 8px;
                text-align: left;
                border-bottom: 1px solid #ddd;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
                <th>Savings</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

<th><td> 添加 border-bottom 实现水平分割线:

th, td {
    border-bottom: 1px solid #ddd;
}

Hoverable Table

<tr> 使用 :hover 选择器,当鼠标悬浮在当前表格行时,当前行会以高亮显示:
Hoverable Table

<!DOCTYPE html>
<html>
    <head>
        <style>
            table {
                border-collapse: collapse;
                width: 100%;
            }

            th, td {
                padding: 8px;
                text-align: left;
                border-bottom: 1px solid #ddd;
            }

            tr:hover {
                background-color: #f5f5f5
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Points</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

Striped Tables

Striped Tables

<!DOCTYPE html>
<html>
    <head>
        <style>
            table {
                border-collapse: collapse;
                width: 100%;
                border: 1px solid black;
            }

            th, td {
                text-align: left;
                padding: 8px;
            }

            tr:nth-child(even) {
                background-color: #f2f2f2
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>First Name</th>
                <th>Last Name</th>
                <th>Points</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

使用 nth-child() 选择器以及对表格的所有偶数(或奇数)行添加 background-color 实现表格的 zebra-striped 效果(斑马线):

tr:nth-child(even) { background-color: #f2f2f2 }

Table Color

下列示例指定了 <th> 元素的背景色和文本色:
Table Color

<!DOCTYPE html>
<html>
    <head>
        <style>
            table {
                border-collapse: collapse;
                width: 100%;
                border: 1px solid black;
            }

            th, td {
                text-align: left;
                padding: 8px;
            }

            tr:nth-child(even) {
                background-color: #f2f2f2
            }

            th {
                background-color: #4CAF50;
                color: white;
            }
        </style>
    </head>
    <body>
        <table>
            <tr>
                <th>Firstname</th>
                <th>Lastname</th>
                <th>Savings</th>
            </tr>
            <tr>
                <td>Peter</td>
                <td>Griffin</td>
                <td>$100</td>
            </tr>
            <tr>
                <td>Lois</td>
                <td>Griffin</td>
                <td>$150</td>
            </tr>
            <tr>
                <td>Joe</td>
                <td>Swanson</td>
                <td>$300</td>
            </tr>
            <tr>
                <td>Cleveland</td>
                <td>Brown</td>
                <td>$250</td>
            </tr>
        </table>
    </body>
</html>

Responsive Table

在屏幕的尺寸无法完全显示表格内容的情况下,响应式表格将呈现水平滚动条:
Responsive Table

<!DOCTYPE html>
<html>
    <head>
        <style>
            table {
                border-collapse: collapse;
                width: 100%;
                border: 1px solid black;
            }

            th, td {
                text-align: left;
                padding: 8px;
            }

            tr:nth-child(even) {
                background-color: #f2f2f2
            }
        </style>
    </head>
    <body>
        <div style="overflow-x: auto;">
            <table>
                <tr>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                    <th>Points</th>
                </tr>
                <tr>
                    <td>Jill</td>
                    <td>Smith</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                    <td>50</td>
                </tr>
                <tr>
                    <td>Eve</td>
                    <td>Jackson</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                    <td>94</td>
                </tr>
                <tr>
                    <td>Adam</td>
                    <td>Johnson</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                    <td>67</td>
                </tr>
            </table>
        </div>
    </body>
</html>

添加一个以 overflow-x:auto 修饰的容器元素(例如,<div>)将 <table> 元素包裹起来以实现响应式:

<div style="overflow-x:auto;">
    <table>
        ... table content ...
    </table>
</div> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 近年来,随着Web应用的发展以及对用户界面设计的日益重视,CSS表格设计的重要性也越来越凸显。下面是我推荐的8款非常好看的CSS表格: 1. Zebra Striped Table:“斑马线”表格具有醒目、实用等特点,易于阅读且样式简洁大方,十分适合培训资料展示等应用场景。 2. Responsive Table: 该表格设计专为移动端设备优化,采用响应式设计,可以在不同设备上展示同一数据,适合数据可视化展示。 3. Data Table With Sorting, Pagination, and Filtering: 针对数据查询和过滤需求,该表格设计支持数据排序、分页、过滤等功能,可以应用于电子商务,人力资源等应用场景。 4. Simple CSS Table: 简单的CSS表格,没有冗余的样式和元素,使得表格更突出、易读,适合长文本展示。 5. Pricing Table: 该表格设计用于宣传网站、在线商店的价格策略,设计有趣、简洁、易记,能够轻松吸引用户的目光。 6. Pure CSS Scrollable Table with Fixed Header: 应对长时间的数据表格,该设计采用了固定的表头和滚动功能,避免了数据混乱的问题。 7. Complex Table: 该表格适用于数据庞杂且多样性强的应用场景,结构、样式复杂,支持排序、筛选、分页等功能。 8. CSS Grid Table: 通过CSS Grid布局,这种表格设计简洁、灵活,使得表格更加适应不同页面中的数据呈现,适用于需要定制数据展示结构的场景。 以上就是我推荐的8款非常好看的CSS表格,这些表格设计样式简洁大方、实用易读,适用于不同的前端应用场景和设计需求。 ### 回答2: 在Web设计中,表格是一个非常重要的元素。在设计表格时,美观性是非常关键的,因为有吸引力的表格可以使网站更易于使用和更具吸引力。这里列举了8款非常好看的CSS表格,供Web设计师参考: 1. Bootstrap表格:Bootstrap是最受欢迎的前端框架之一,其中包括美丽的表格设计。 2. Pure CSS表格:这款表格使用最基础CSS来设计纯净的表格。 3. Responsive Table附CSS:随着移动设备的流行,这个响应式表格是非常有用的。 4. Table Sorter:这个插件可以让表格变得交互性和可排序性。 5. DataTables表格:这个插件可以对表格进行皮肤设置和排序功能设置。 6. Gridlex表格:这个框架可以帮助你快速构建各种种类的网格布局。 7. Foundation表格:类似于Bootstrap,这个框架也提供了美丽的表格。 8. Materialize表格:这个框架适用于Material Design,是现代风格的好选择。 总之,随着不断发展的Web设计技术,美丽的表格设计也会不断发展进步。设计师们应该选用适合自己项目的表格设计,让网页更加美观、易用。 ### 回答3: 在网页设计中,表格是一项非常常用的元素。 为了让用户更好地了解数据和内容,一个好看的CSS表格是很必要的。下面是我推荐的8款非常好看的CSS表格。 1. Zebra Stripes表格 这款表格相信大家肯定很熟悉了,就是那种间隔显示不同背景色的表格。这种风格简单明了,易于阅读,可以让用户更容易看到表格的数据和内容。 2. 散落的表格 这种表格的每一行都有不同的背景色和边界,看起来非常美观。 散落的表格可以使页面看起来更灵活和有条理。 3. 简洁的表格 简洁的表格是一种更为简单的表格,具有明确的边框,容易阅读和理解。如果你想展示数据和内容更加直接,那么这款表格适合你。 4. 收缩单元格表 在这种表格中,每个单元格的宽度都是由表格自身来设定的。 如果你想将内容压缩在一行内,那么这种表格非常适合你。 5. 不规则的表格 这款表格不同于传统的方形表格,它们可以有很多种形状。 如果你想将数据和内容放在一个独特的,视觉上吸引人的格式中,那么这款表格非常适合你。 6. 网格线表格 这是一款非常美观的表格,其边框和网格线设计非常细致。这种表格可以让你的网页看起来更加专业,注重细节。 7. 无样式表格 这种表格没有边框和样式,只有内容。如果你想让表格数据和内容更直观、更有条理,那么这款表格非常适合你。 8. 悬停表格 这款表格可以在用户鼠标悬停在表格上时改变背景色或其他样式。 如果你想使表格交互和用户体验更加直观,那么这款表格非常适合你。 总的来说,美观好看的CSS表格对于网页设计来说非常重要,不仅能够让网页看起来更加专业和有条理,而且能够让用户更加直观,轻松地理解和浏览数据和内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值