如何使用 CSS 设置表格布局算法?


为了回答“如何使用 CSS 设置表格布局算法”这个问题,我们需要理解什么是“布局”。HTML 中的布局指定了网站的基本组织结构和视觉样式。它使您能够使用基本的 HTML 标签构建网站。

表格布局

表格布局由于其复杂性而成为最不建议使用的 HTML 布局之一。顾名思义,它基于<table> 元素。<table> 元素允许您将数据排列成行和列。

<table> 标签是一个容器标签,因为它既是开始标签也是结束标签,我们可以在一个元素内使用多个 HTML 元素,即使需要三个元标签才能将数据排列到表格中。

第一个使用 <tr> 标签(代表“table row”,表格行)向表格添加新行,第二个使用 <th> 标签(代表“table heading”,表格标题)存储表格的标题。最后一个是“<td>”(table data,表格数据),它获取必须保存在表格中的数据。

示例

下面是一个在网页中使用的表格标签示例。

<!DOCTYPE html>
<html>
<head>
   <title>HTML Tables</title>
</head>
<body>
   <table border = "1">
      <tr>
         <td>Name</td>
         <td>Age</td>
      </tr>
      <tr>
         <td>Vibha</td>
         <td>30</td>
      </tr>
   </table>
</body>
</html>

CSS 中的 table-layout 属性是什么?

表格布局是 CSS 中的众多属性之一,用于向 HTML 文档中已存在的标签添加自定义样式。此属性用于设置在布局表格标签元素(如表格标题、表格行和表格数据)时有帮助的算法。

几乎所有 Web 浏览器都支持它。它是非继承属性,具有离散动画类型。使用的计算值由浏览器指定。此属性可以具有的所有可能值的列表如下:

  • auto - 这是大多数浏览器使用的值,它使表格布局自动进行。通过为 table-layout 属性提供 auto 值,使表格的单元格和列可以扩展以容纳所有内容。

  • fixed - 通过此值,我们通过设置第一行的宽度或在 table 和 col 元素上设置宽度来为表格和列提供固定宽度。第一行之后的单元格的宽度对表格的宽度没有影响。

在第一行表格被下载和检查后,可以使用“fixed”布局方法生成完整的表格。这可以加快渲染速度,但后续单元格内容可能无法容纳在可用的列宽中。因此,我们必须选择网站加载速度更快还是关注 UI 的展示部分。

只有当表格具有定义的宽度时,单元格才会使用 overflow 属性来确定是否剪切任何溢出的内容;否则,它们不允许内容溢出单元格。

除了这些值之外,我们还可以为此属性提供 initial 或 inherit 作为值。initial 使属性设置为其默认值,而 inherit 使属性继承其父元素的值。

示例

下面是使用 CSS 中的 table-layout 属性来设置底层表格布局算法的示例。我们使用了此属性的上述两种可能的值。

<!DOCTYPE html>
<html>
<head>
   <title>table-layout property in CSS</title>
   <style>
      table {
         border-collapse: collapse;
         border: 2px solid rgb(156, 112, 112);
      }
      th,
      td {
         border: 2px solid rgb(130, 99, 99);
      }
      table#tableAuto {
         table-layout: auto;
         width: 300px;
      }
      table#tableFixed {
         table-layout: fixed;
         width: 300px;
      }
      div {
         max-width: 300px;
         padding: 12px;
         border: 2px solid rgb(144, 102, 102);
      }
      h1 {
         color: rgb(111, 164, 111);
      }
   </style>
</head>
<body>
   <center>
      <h1>Examples of table layout property</h1>
      <h2>table-layout property in CSS</h2>
      <div>
         <h3>Property value set to auto</h3>
         <table id="tableAuto">
            <tr>
               <th>Some Name</th>
               <th>Some Age</th>
               <th>Some Roll No</th>
            </tr>
            <tr>
               <td>Some Name 1</td>
               <td>Some Age 1</td>
               <td>Some Roll No 1</td>
            </tr>
            <tr>
               <td>Some Name 2</td>
               <td>Some Age 2</td>
               <td>Some Roll no 2</td>
            </tr>
         </table>
      </div>
      <br />
      <div>
         <h3>The property value set to fixed</h3>
         <table id="tableFixed">
            <tr>
               <th>Some Name</th>
               <th>Some Age</th>
               <th>Some Roll no</th>
            </tr>
            <tr>
               <td>Some Name 1</td>
               <td>Some Age 1</td>
               <td>Some Roll no 1</td>
            </tr>
            <tr>
               <td>Some Name 2</td>
               <td>Some Age 2</td>
               <td>Some Roll no 2</td>
            </tr>
         </table>
      </div>
   </center>
</body>
</html>

结论

总而言之,使用 CSS 设置表格布局算法是确保表格井井有条且专业的绝佳方法。只需几个简单的步骤,您就可以轻松创建美观的表格布局,且工作量最小。此外,通过利用 flexbox 和 grid 系统等现代 CSS 功能,您可以轻松快速地为任何设备或屏幕尺寸生成响应式设计。最终,使用 CSS 设置表格布局算法是轻松创建精美网页的强大工具。

更新于:2023年2月27日

279 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告