如何使用 CSS 设计表格样式以获得最大影响并引起注意

使用HTML表格组织数据:增强用户体验的CSS样式指南

在处理HTML及XML等标记语言时,表格是一种强大的工具,能帮助用户快速浏览、比较和分析大量数据。通过表格,用户无需阅读全文即可捕捉重点信息。同时,CSS可以用来定制表格的样式,改变其外观。

以下是一些您可能需要对表格进行样式设置的原因:

  • 改善视觉呈现:普通的表格可能显得单调乏味。通过设计样式,可以提升表格的视觉吸引力,使其更具吸引力。
  • 提高可访问性:样式化的表格可以帮助残障人士更容易地访问和理解内容。
  • 增强可读性:通过不同的样式技巧,可以使表格中的数据更易于浏览和理解。
  • 品牌塑造:在整个应用程序的表格中使用一致的字体和颜色,可以强化品牌形象。
  • 利于搜索引擎优化:以表格形式组织数据有助于提高网站在搜索引擎中的排名。

使用HTML创建基本表格

为了演示HTML表格的工作原理,我们将创建一个项目文件夹,并在其中创建两个文件:index.html用于存放HTML代码,以及styles.css用于存放CSS样式代码。

如果您想跟着操作,请使用以下命令:

mkdir table-styling-project

cd table-styling-project

touch index.html styles.css

现在,您已经有了基础的项目文件夹,可以开始创建HTML表格了。我们以展示不同编程语言及其应用场景和使用这些语言的公司为例。

要创建HTML表格,所有数据都必须包含在<table>...</table>标签中。

在您的HTML文件中,生成基本的HTML文档结构,并在<body>标签中添加以下代码:

<table>
  <tr>
    <th>语言</th>
    <th>常用领域</th>
    <th>使用公司</th>
  </tr>
  <tr>
    <td>Java</td>
    <td>Web应用、Android应用、企业应用</td>
    <td>Google, Amazon, LinkedIn</td>
  </tr>
  <tr>
    <td>Python</td>
    <td>数据科学、Web开发、自动化</td>
    <td>Google, Dropbox, Spotify</td>
  </tr>
  <tr>
    <td>JavaScript</td>
    <td>Web开发、前端开发、浏览器脚本</td>
    <td>PayPal, Facebook, Netflix</td>
  </tr>
   <tr>
    <td>C++</td>
    <td>游戏开发、系统编程、嵌入式系统</td>
    <td>Tesla, Microsoft, Adobe</td>
  </tr>
  <tr>
    <td>Swift</td>
    <td>iOS开发、macOS开发</td>
    <td>Apple</td>
  </tr>
  <tr>
    <td>PHP</td>
    <td>Web开发、服务器端脚本、CMS</td>
    <td>WordPress, Wikipedia, Yahoo</td>
  </tr>
</table>

表格标签内部包含了<tr><th><td>等标签。

这些标签分别执行以下操作:

  • <tr>,表示表格行,包含在<table>元素中。<tr>标签可以包含一个或多个<th><td>元素。
  • <th>,表示表头,包含在<tr>标签中。默认情况下,其内容为粗体显示。
  • <td>,表示表格数据,描述表格单元格中的内容。

当您在浏览器中呈现上述代码时,将会看到一个基本的表格。

用于样式表的CSS属性

我们上面创建的表格功能完整,但视觉效果欠佳。为了提升表格的视觉吸引力,我们将使用CSS。

现在是时候使用我们创建的CSS文件了。首先,您必须将CSS文件链接到HTML文件,样式才能生效。在HTML文档的<head>部分,添加以下内容:

<link rel="stylesheet" href="styles.css">

现在,我们准备开始设计表格的样式了。可以进行以下设置:

#1. 边框

我们可以在表格的所有单元格周围添加边框。为此,我们需要在<th><td>元素上定义一个边框属性。我们可以将边框设置为2px,并使用橙色作为颜色:

th, td {
  border: 2px solid orange;
}

现在,呈现页面时,您将看到表格单元格周围的橙色边框。

#2. 边框合并

如果您查看上面的屏幕截图,您可能会注意到每个单元格的边框之间都有空格。border-collapse属性确定表格中相邻单元格的边框是否应该合并。

如果您希望单元格共享边框,请将以下代码添加到您的CSS文件中:

table {
  border-collapse: collapse;
}

呈现页面时,您会看到单元格共享边框。

如果您希望单元格具有独立的边框,则使用以下代码:

table {
  border-collapse: separate;
}

呈现的页面将显示独立的边框。

#3. 边框间距

使用border-spacing属性,我们可以在表格中的单元格之间创建一定的空间。我们需要在CSS文件的table类中设置这个规则。

为了使此属性生效,我们需要使用border-collapse: separate;属性。

我们可以设置table类的样式如下:

table {
  border-collapse: separate;
  border-spacing: 3px;
}

现在,单元格的边框之间将有3px的间距。

渲染表格时,它将如下所示:

#4. 表格布局

table-layout属性决定了表格的布局方式。您可以选择让表格始终具有相同的宽度,也可以选择让表格宽度根据内容变化。

如果希望表格具有相同宽度的单元格,可以将table-layout属性设置为fixed

table-layout: fixed;

我们在table类上的最终代码如下:

table {
  border-collapse: collapse;
  border-spacing: 3px;
  table-layout: fixed;
}

如果希望单元格宽度根据内容改变,可以将table-layout属性更改为auto

table-layout: auto;

我们CSS代码中的最终table类如下:

注意,在表格最后一个单元格中,我添加了“MailChimp等等”。

现在您可以看到,由于表格布局是灵活的,最后一行中的单元格比其余单元格要宽。

到目前为止,我们介绍的样式主要针对整个表格。现在,我们可以通过更改行、单元格或标题的背景颜色、字体和文本对齐属性来专注于单个元素。

我们可以如下设置这些属性:

#5. 背景颜色

我们可以将顶行的背景色更改为黄绿色。我们可以使用:first-child伪类选择器来实现此目的。

将以下代码添加到您的CSS代码中:

tr:first-child {
  background-color: yellowgreen;
}

最终显示的代码将如下所示:

#6. 字体

我们可以更改表格中特定行、列或单元格的字体样式或字体大小。

我们将针对页面最后一列的内容(“使用公司”)更改字体样式。

我们将通过使用td:last-child类选择器,将此列的所有内容设置为斜体。将以下代码添加到您的CSS文件中:

td:last-child {
  font-style: italic;
}

重新加载页面时,最终输出如下:

我们还可以更改第一列的字体颜色和大小,使其更醒目。

将以下代码添加到您的CSS文件中:

tr td:first-child {
  color: red;
  font-size: x-large;
  font-weight: bolder;
}

呈现页面时,您会注意到:第一列(“语言”)中的内容字体更大,颜色为红色,并且加粗显示。

如何使表格响应式

我们创建的表格在小屏幕上可能无法正常显示。您可以使用Chrome的开发者工具或类似的外部工具来测试您的代码是否响应式。

这里介绍一种实现响应式的方法:

  • 在代码中设置<table>元素的宽度:

    table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
    }
    
  • tdth上设置断词属性,以便在单元格中生成长单词。

    th, td {
        border: 2px solid orange;
        word-break: break-word;
      }
    

表格样式设计的最佳实践

CSS 是一门有趣的语言,特别是当您掌握它的时候。 以下是一些确保您在设置表格样式时获得最佳效果的最佳实践:

  • 使用外部样式表:我们也可以选择使用内联样式,但我们选择了外部样式表。 这样,我们可以在不同的表格中重用样式,从而节省开发时间。
  • 保持简单: 您可能会过于追求完美,过度设计表格。 但是,请始终保持设计简单,确保您的表格易于浏览和阅读。
  • 为表格添加边框: 边框使表格更易于阅读和浏览。
  • 使用一致的颜色: 如果您的网页上有多个表格,请确保使用一致的颜色和字体。使用您的品牌颜色可以提高您的品牌知名度。
  • 使您的表格具有响应式: 您可能永远不知道最终用户的设备屏幕尺寸。
  • 使用标题描述表格: 标题简要描述表格的内容。
  • 使用空格分隔表格: 如果多个表格彼此相邻,请添加一些空格,并为其添加相应的标题。

结论

相信现在您已经掌握了创建基本HTML表格并为其设置样式的方法。本文可能无法涵盖所有方面,因为HTML和CSS的知识非常广泛。您可以创建更小或更大的表格,具体取决于您要捕获的数据类型。

如果您想了解更多关于CSS以及如何使用它来改进UI,请查阅CSS相关文档。