挑戰30天在頭條寫日記#
HTML是一種用于創建網頁結構和內容的標記語言,其中包含了許多標簽,可以用于排版、布局和展示內容。本文將詳細介紹HTML中的<tr>和<td>標簽的使用方法,并通過示例展示如何創建表格。
1. <tr>標簽的作用: <tr>標簽代表HTML表格中的一行(行數據),它可以包含一個或多個<td>元素作為單元格。
2. <td>標簽的作用: <td>標簽用于定義表格中的一個單元格(列數據),可以包含文本、圖像、鏈接等內容。
3. 如何使用<tr>和<td>: 在使用<tr>和<td>標簽時,首先需要創建一個<table>元素作為表格的容器,然后在其中嵌套<tr>和<td>標簽,如下所示:
htmlCopy code<table>
<tr>
<td>單元格1</td>
<td>單元格2</td>
</tr>
<tr>
<td>單元格3</td>
<td>單元格4</td>
</tr>
</table>
4. 表格樣式: 可以使用CSS來為表格添加樣式,如設置邊框、背景顏色等。以下是一個簡單的示例:
htmlCopy code<style>
table {
border-collapse: collapse;
width: 100%;
}
td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
5. 示例應用: 以下示例演示了如何使用<tr>和<td>標簽創建一個包含姓名、年齡和城市的簡單表格:
htmlCopy code<!DOCTYPE html>
<html>
<head>
<style>
table {
border-collapse: collapse;
width: 100%;
}
td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
</style>
</head>
<body>
<table>
<tr>
<td>姓名</td>
<td>年齡</td>
<td>城市</td>
</tr>
<tr>
<td>張三</td>
<td>25</td>
<td>北京</td>
</tr>
<tr>
<td>李四</td>
<td>30</td>
<td>上海</td>
</tr>
<tr>
<td>王五</td>
<td>28</td>
<td>廣州</td>
</tr>
</table>
</body>
</html>
6. 書籍參考:
7. 總結: 通過本文的介紹,我們了解了HTML中<tr>和<td>標簽的基本用法,以及如何創建簡單的表格和添加樣式。使用這些標簽,我們可以輕松地創建具有結構和內容的網頁表格,提升頁面的可讀性和可視性。
## table
表格是一個網站很常用的元素,用以展示大量的數據。在處理表格時,通常會加入許多功能,如斑馬線、選中高亮、固定表頭、鎖定列等等,本篇文章主要介紹如何單純的使用css實現固定行或列的功能。
### 一般做法
大部分的網上介紹的實現方式,甚至部分ui框架如iview等都是通過三至四個表格組合,然后js處理同步滾動來實現,這樣的好處是容易實現,pc端也不會出現什么問題。但是在手機端時,會有嚴重的不同步滾動現象,處理的不好時,甚至會出現錯位等,體驗非常不好。
### 本文做法
主要使用了二個css屬性
* table-layout: fixed
* posotion: sticky
### table-layout
為了讓表格呈現滾動效果,必須設定table-layout: fixed,并且給與表格寬度
```css
table {
table-layout: fixed;
width: 100%;
}
```
### position
固定表格的行列需要使用到`posotion: sticky`設定
sticky的表現類似于relative和fixed的合體,在超過目標區域時,他會固定于目標位置
**注意:** `posotion: sticky`應用于table時,只能作用于`<th>`和`<td>`,并且必須定義目標位置left / right / top / bottom來實現固定效果
```
thead tr th {
position:sticky;
top:0;
}
```
簡單說明這兩個屬性后,我們首先建立一個帶表格的html頁面
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div>
<table cellspacing="0" border="0" cellpadding="0">
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr> <tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
```
css部分如下
```
<style>
div{
overflow:auto;
width:400px;
height:290px; /* 固定高度 */
border:1px solid gray;
border-bottom: 0;
border-right: 0;
}
td, th {
border-right :1px solid gray;
border-bottom :1px solid gray;
width:100px;
height:30px;
box-sizing: border-box;
}
th {
background-color:lightblue;
}
table {
border-collapse:separate;
table-layout: fixed;
width: 100%; /* 固定寬度 */
}
td:first-child, th:first-child {
position:sticky;
left:0; /* 首行在左 */
z-index:1;
background-color:lightpink;
}
thead tr th {
position:sticky;
top:0; /* 第一列最上 */
}
th:first-child{
z-index:2;
background-color:lightblue;
}
</style>
```
最后的效果如下:
### 注意
* z-index很重要,需要仔細設置,尤其是對于ios
* 如果是固定多列,每一列需要注意設置好left的值
* 自測時,手機端安卓與ios測試各測試了兩臺,均是可以的,但是測試的機型不全,需要自行多測試
過昨天的學習算是對HTML有了一點點了解,知道了什么是前端,什么是HTML、前端三大標準、主流瀏覽器和html的基本結構及常用標簽。那么今天繼續看看html還有什么新的知識吧。
有常見性就有特殊性,我們使用電腦時經常會用到空格鍵,在html文檔上有時也會使用到空格鍵等等,那怎么在html上又是以什么形式展示給瀏覽器解析呢?
瀏覽器顯示結果 | 特殊字符名稱 | HTML編輯字符 |
空格 | & n b s p; | |
< | 小于號 | & l t ; |
> | 大于號 | & g t; |
& | 和 | & a m p; |
? | 版權 | & c o p y ; |
作用:在瀏覽器上清晰美觀地顯示、展示數據。
表格標簽的語法
<table>
<tr>
<td></td>
</tr>
</table>
表格標簽:<table></table>,一個table標簽中可嵌套多個tr標簽。
行標簽:<tr></tr>,一個tr標簽代表一行。一個行標簽中可以嵌套多個單元格標簽。
單元格標簽:<td></td>,一個td標簽代表一個單元格。在單元格中可以填充文本、圖片、超鏈接等等內容。
在html中表格不是由橫線劃分行和列,而是大大小小的矩形盒子來劃分。Table是一個最大的矩形盒子,里面包含tr標簽,這個是一個和table長度差不多的矩形盒子,table一行僅容納一個tr盒子。在tr盒子中還包含有N個td盒子,td盒子就是單元格。
表格示例:
在html文檔中編輯表格標簽結構時,除了一個標簽一個標簽地敲之外,可以使用快捷方式快速操作:如五行三列的表格,可以在table標簽中輸入:“tr*5>td*3”然后敲回車,就將其表格結構迅速展現出來。
<h1>表格示例:</h1>
<table>
<tr>
<td>姓名</td>
<td>性別</td>
<td>年齡</td>
</tr>
<tr>
<td>張三豐</td>
<td>男</td>
<td>27</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>18</td>
</tr>
<tr>
<td>王五通</td>
<td>男</td>
<td>35</td>
</tr>
<tr>
<td>秦六夏</td>
<td>女</td>
<td>30</td>
</tr>
</table>
運行界面示例:默認狀態下表格是沒有線條分界,表格對齊方式左對齊。
表頭單元格標簽
<th></th>:位于表格的第一行或第一列,可以使其內容加粗居中顯示。
語法:
<table>
<th>
<td></td>
</th>
</table>
表頭表格代碼示例:
<h1>表頭表格示例:</h1>
<table>
<tr>
<th>姓名</th>
<th>性別</th>
<th>年齡</th>
</tr>
<tr>
<td>張三豐</td>
<td>男</td>
<td>27</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>18</td>
</tr>
<tr>
<td>王五通</td>
<td>男</td>
<td>35</td>
</tr>
<tr>
<td>秦六夏</td>
<td>女</td>
<td>30</td>
</tr>
</table>
運行界面示例:
表格結構標簽
表格結構標簽分為表格頭部標簽和表格主體標簽。類似于head標簽和body標簽對于html標簽之間的關系。
表格頭部標簽:<thead></thead>。定義表格頭部,嵌套在<table></table>中,一般位于第一行。
表格主體標簽:<tbody></tbody>。定義表格主體,嵌套在<table></table>中,主要用于顯示數據。
代碼示例:
<h1>表格結構標簽</h1>
<table border="1" width="300px" height="150px" cellspacing="0">
<thead>
<tr>
<th>姓名</th>
<th>性別</th>
<th>年齡</th>
</tr>
</thead>
<tbody>
<tr>
<td>張三豐</td>
<td>男</td>
<td>36</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>30</td>
</tr>
</tbody>
</table>
運行界面:
表格屬性
雖然表格屬性在實際開發過程中不常使用,一般都是通過CSS樣式設置,但是還是需要記住這些屬性關鍵詞,在css中屬性關鍵詞也會用到。
注:這些屬性都要寫在table標簽的開始標簽中,多個屬性之間需要使用空格分隔。
align:表格的對其方式。
align=“left”:在瀏覽器中居左顯示。也是默認顯示。
align=“center”:在瀏覽器中居中顯示。
align=“right”:在瀏覽器中居右顯示。
border:表格是否具有邊框。
border=”1”:表格添加邊框。
cellpadding:單元格內的元素和td邊框的距離。
舉個例子,如果表格是一件教室的話,桌子就是單元格,桌子上放的書本就是單元格內的元素,書本邊緣和桌子邊緣之間產生的空白區域就是cellpadding的值。
cellspacing:單元格和單元格之間的距離。默認是有空隙的,可設置為零,使其空隙清零,成為一條直線。
還是以教室為表格,桌子為單元格。桌子和桌子之間的距離就是cellspacing的值。
width:表格的寬度,屬性值可以是像素值也可以是百分比。
height:表格的高度,屬性值可以是像素值也可以是百分比。
代碼示例:
<h1>表頭表格示例:</h1>
<table align="center" border="1" cellpadding="0" cellspacing="0" width="200px" height="300px">
<tr>
<th>姓名</th>
<th>性別</th>
<th>年齡</th>
</tr>
<tr>
<td>張三豐</td>
<td>男</td>
<td>27</td>
</tr>
<tr>
<td>李四喜</td>
<td>女</td>
<td>18</td>
</tr>
<tr>
<td>王五通</td>
<td>男</td>
<td>35</td>
</tr>
<tr>
<td>秦六夏</td>
<td>女</td>
<td>30</td>
</tr>
</table>
運行界面:
合并單元格
合并單元格是指將兩個或兩個以上的單元格合并成一個單元格。合并屬性一般寫在單元格標簽的開始標簽上。合并代碼屬性設置后,要將沒有寫合并的單元格代碼的其他合并單元格標簽刪除掉。
目標單元格:(合并代碼存在位置)
跨行合并:最上側單元格為目標單元格,寫合并代碼。
跨列合并:最左側單元格為目標單元格,寫合并代碼。
合并單元格的方式:
跨行合并:將處于不同行的單元格進行合并
語法:rowspan=“合并單元格個數”
代碼示例:
<h1>跨行合并表格:</h1>
<table border="1" width="300px" height="150px" cellspacing="0">
<tr>
<td rowspan="2"></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
運行界面:
跨列合并:將處于不同列的單元格進行合并
語法:colspan=“合并單元格個數”
代碼示例:
<h1>跨列合并表格:</h1>
<table border="1" width="300px" height="150px" cellspacing="0">
<tr>
<td colspan="2"></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</table>
運行示例:
今天學習的表格內容就到這里了,明天開始學習列表。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。