iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
Modern Web

前端入門,入門前端系列 第 7

Day07 【前端入門,入門前端】表格相關標籤

  • 分享至 

  • xImage
  •  

前端入門,入門前端。學前端,如標題簡單。

嗨,大家好
昨天我們認識了
超連結標籤 <a> </a>
清單標籤 <ul> </ul><ol> </ol>
也知道標籤中可以添加「屬性」與「值」。
還知道了標籤之間的關係 (不知道大家有找到昨天問題的答案了嗎?與 <ul> 屬於父子關係的是 <body>,與 <ul> 屬於兄弟關係的是 <p>)
今天就讓我們繼續認識更多標籤囉。

表格相關標籤

與表格(table)相關的標籤非常多,還可以分為原始與更新板(HTML5),讓我們從比較不複雜的開始看起吧。

這是我們要完成的目標
3X3的表格最上面的第一列(橫的)是標題
第二列及第三列分別會填入正確的欄與列名稱
https://ithelp.ithome.com.tw/upload/images/20230922/20152290zQWb0GdFTK.jpg

首先讓我們建立一個表格標籤 ( <table> 這是父標籤,所有表格的其他標籤都要包在裡面)
<table> </table>

接著我們在裡面建立三個列( <tr> table row)
<table> <tr></tr> <tr></tr> <tr></tr> </table>

程式碼整理

有沒有覺得上面的程式碼不太容易閱讀。
通常我們在寫程式碼的時候,會進行整理的動作,方便閱讀。
把握以下幾個重要(以下只是舉例自己習慣的方式,每個人、不同公司都有各自的習慣與規則):
1.父標籤與子標籤不會在同一行,遇到同行請按enter換下一行
2.若開始與結束標籤不在同一行,開始與結束標籤需齊頭(左邊要對齊)
3.子標籤要內縮(按tab就會自動往右邊移動一個單位)
4.兄弟標籤請齊頭(左邊要對齊)

聽起來很難懂嗎?讓我們直接來整理 <table> <tr></tr> <tr></tr> <tr></tr> </table>

<table> 
    <tr></tr> 
    <tr></tr> 
    <tr></tr> 
</table>

就像上面這樣,可以清楚的看到這就是一個父標籤(table)裡面包了3個子標籤(tr)。
後面的程式碼我都會用這樣的形式來寫,方便大家閱讀。
讓我們繼續完成表格吧。

表格相關標籤

我們現在有一個表格裡面包了3個列,我們的需求是每列裡面包含3個欄位,所以我們要在每一個ˊ <tr></tr> 裡面再包3個欄( <td> table data)。

<table> 
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr> 
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr> 
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr> 
</table>

因為第一排都會是標題(表頭),所以我們改用表格的標題標籤( <th> table heading)

<table> 
    <tr>
        <th> </th>
        <th> </th>
        <th> </th>
    </tr> 
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr> 
    <tr>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr> 
</table>

接著放入資料

<table> 
    <tr>
        <th>標題一</th>
        <th>標題二</th>
        <th>標題三</th>
    </tr> 
    <tr>
        <td>第一列第一欄</td>
        <td>第一列第二欄</td>
        <td>第一列第三欄</td>
    </tr> 
    <tr>
        <td>第二列第一欄</td>
        <td>第二列第二欄</td>
        <td>第二列第三欄</td>
    </tr> 
</table>

我們的表格就完成囉!
如果發現自己 live server 顯示的表格跟我圖片的不一樣不用緊張,那是因為我用 css 加了邊框,大家可以先照著下面的程式碼寫到自己的檔案裡面,就也會有邊框囉。( <style> </style> 這一段)
https://ithelp.ithome.com.tw/upload/images/20230922/20152290OF45pFZJoL.jpg

HTML5表格的標籤

之前提到過HTML的標籤是要告訴瀏覽器哪裡是標題、哪裡是內文等等。讓我們把自己當成瀏覽器,只看標籤內容來分析這個表格。我們看到 <table> 知道裡面是一個表格,3個 <tr> 裡面都包了3個 <td> ,所以這是3X3的表格,裡面各有一些資料內容。就沒了。我沒有辦法分析出這個表格哪裡是表頭、哪裡是表格內容、那裡屬於表尾,因為每一列都是 <tr> 。 所以在HTML5 (更新的HTML) 中,我們可以用 <thead>(表頭)、 <tbody>(表內容)、 <tfoot>(表尾) 來包住 <tr></tr> 更明確的表達這表格的資訊。
更新後的表格會像這樣:

<table> 
    <thead>
        <tr>
            <th>標題一</th>
            <th>標題二</th>
            <th>標題三</th>
        </tr>
    </thead> 
    <tbody>
        <tr>
            <td>第一列第一欄</td>
            <td>第一列第二欄</td>
            <td>第一列第三欄</td>
        </tr>  
        <tr>
            <td>第二列第一欄</td>
            <td>第二列第二欄</td>
            <td>第二列第三欄</td>
        </tr>  
    </tbody>
    <tfoot>
        <tr>
            <td>第一欄表尾</td>
            <td>第二欄表尾</td>
            <td>第三欄表尾</td>
        </tr>  
    </tfoot>
</table>

合併儲存格 colspan 與 rowspan

我們現在的表格一格就是一個欄位,如果想合併儲存格該怎麼做呢?
這時候就要用到昨天學的,在標籤內加入屬性囉。我們可以加入「合併欄」(colspan)或是「合併列」(rowspan)的屬性。

<td>第一列第一欄</td> <td>第一列第二欄</td> 合併,因為合併兩欄所以在第一欄的標籤內加上 colspan = "2" 然後把第二個標籤刪除。

<table> 
    <thead>
        <tr>
            <th>標題一</th>
            <th>標題二</th>
            <th>標題三</th>
        </tr>
    </thead> 
    <tbody>
        <tr>
            <td colspan="2">第一列第一欄</td>
            <td>第一列第二欄</td>
            <td>第一列第三欄</td>
        </tr>  
        <tr>
            <td>第二列第二欄</td>
            <td>第二列第三欄</td>
        </tr>  
    </tbody>
    <tfoot>
        <tr>
            <td>第一欄表尾</td>
            <td>第二欄表尾</td>
            <td>第三欄表尾</td>
        </tr>  
    </tfoot>
</table>

https://ithelp.ithome.com.tw/upload/images/20230922/2015229055zQxyQPpI.jpg

<td>第一列第一欄</td> 與 <td>第二列第一欄</td> 兩列合併,在第一個標籤內加上rowspan = "2"然後把第二個標籤刪除。

<table> 
    <thead>
        <tr>
            <th>標題一</th>
            <th>標題二</th>
            <th>標題三</th>
        </tr>
    </thead> 
    <tbody>
        <tr>
            <td rowspan="2">第一列第一欄</td>
            <td>第一列第二欄</td>
            <td>第一列第三欄</td>
        </tr>  
        <tr>
            <td>第二列第二欄</td>
            <td>第二列第三欄</td>
        </tr>  
    </tbody>
    <tfoot>
        <tr>
            <td>第一欄表尾</td>
            <td>第二欄表尾</td>
            <td>第三欄表尾</td>
        </tr>  
    </tfoot>
</table>

https://ithelp.ithome.com.tw/upload/images/20230922/201522904GIgwoe8MS.jpg

以上就是表格相關的標籤,可以找找身邊的表格,嘗試把他切出來看看。
我們明天見囉!


上一篇
Day06 【前端入門,入門前端】認識更多 HTML 標籤 + 標籤屬性與值 + 標籤的父子與兄弟關係
下一篇
Day08 【前端入門,入門前端】圖片標籤與路徑
系列文
前端入門,入門前端19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言