如何使用 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 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告