.表格的寬度 高度 邊框 <width> <height> <border>
2.表格的背景顏色和圖片 <colcr>顏色背景圖片顏色可通過<background> <bgcolor>背景顏色
3.表格以及單元格內容的對齊方式 <aligh>分為<right>右對齊 <center>居中對齊 <left>左對齊
4.單元格的填充和間距 <cellspacing>間距 <cellpadding>填充
5.<font>標簽可以設置字體字號以及顏色
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>優化表格</title>
</head>
<body>
<table border="0" width="395" cellpadding="0" cellspacing="0">
<tr>
<td colspan="4" background=""><font color="white"></font><b> 本周暢銷筆記本排名top3<font></font></b></td>
</tr>
</table>
<table>
<tr>
<td>
<table>
<tr>
<td colspan="2">京東超市/td>
</tr>
<tr>
<td colspan="2">< img src="img/1.jpg" alt=""></td>
</tr>
<tr>
<td>< img src="img/人.png" alt=""></td>
<td>< img src="img/羅賓.jpg" alt=""></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
HTML表格的構建中,<tr>標簽(表格行)扮演著基礎而關鍵的角色。正確使用表格行不僅能夠提升數據展示的清晰度,還可以通過各種技巧增強表格的功能性和交互性。本文將深入探討如何高效利用<tr>標簽,從而在網頁設計中實現更精細、更專業的布局和表現。
在HTML中,<tr>標簽用于定義表格的行。每個<tr>元素內部可以包含一或多個<td>(表格單元格)或<th>(表頭單元格)元素,用于展示具體的數據或標題。
一個典型的表格行示例如下:
<table>
<tr>
<th>編號</th>
<th>姓名</th>
<th>職位</th>
</tr>
<tr>
<td>1</td>
<td>王小明</td>
<td>前端開發</td>
</tr>
</table>
這個例子展示了如何使用<tr>來創建包含標題和一行數據的表格。
通過CSS,我們可以對表格行進行樣式化,例如設置斑馬線效果(條紋表格)、行懸停顏色等,以提升可讀性和用戶體驗。
tr:nth-child(even) {
background-color: #f2f2f2;
}
tr:hover {
background-color: #ddd;
}
給表格行添加類或ID,可以更細致地控制特定行的樣式,這對于突出顯示某些數據非常有用。
可以通過JavaScript為表格行添加點擊事件,達到如彈出詳細信息、修改數據等交互效果。
document.querySelectorAll("tr").forEach(row => {
row.addEventListener("click", function() {
alert("你點擊了一行!");
});
});
在需要動態修改表格內容的場景下,可以通過JavaScript動態地添加或刪除表格行。
function addRow() {
const table = document.getElementById("myTable");
const row = table.insertRow(-1); // 插入到表格末尾
const cell1 = row.insertCell(0);
const cell2 = row.insertCell(1);
cell1.innerHTML = "新行單元格1";
cell2.innerHTML = "新行單元格2";
}
通過深入了解和運用<tr>標簽,你可以大幅提升HTML表格的功能性和視覺吸引力。無論是數據密集型網站還是需要高度定制的用戶界面,精通這些技巧將使你在網頁開發中更加得心應手。
結尾部分:
希望本文的分享能幫助你更好地掌握HTML中的<tr>使用技巧,無論是基礎的數據展示還是復雜的用戶交互,都能通過你的代碼得到完美的實現。不斷實踐,不斷創新,讓我們在編程的路上一起進步!
錄
在前面一篇博客中我們介紹過關于python的表格數據處理方案,這其中的工作重點就是對表格類型的數據進行梳理、計算和展示,本文重點介紹展示這個方面的工作。首先我們看一個案例,定義一個數組形式的表格數據:
[dechin@dechin-manjaro table]$ ipython
Python 3.8.5 (default, Sep 4 2020, 07:30:14)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: table=[('a',1,2,3),('b',2,3,4)]
In [2]: print(table)
[('a', 1, 2, 3), ('b', 2, 3, 4)]
當我們直接打印這個表格數據的時候,發現效果非常的難看。雖然我們可以從這個表格中獲取到同樣的信息,但是這種數據展示的方法對于我們直接從打印輸出中獲取數據是非常不利的。
首先介紹一個工具tabulate,可以直接打印數組格式的表格數據,并且有多種輸出格式可選。安裝方法同樣可以用pip來進行管理:
[dechin@dechin-manjaro table]$ python3 -m pip install tabulate
Requirement already satisfied: tabulate in /home/dechin/anaconda3/lib/python3.8/site-packages (0.8.9)
安裝很容易,也沒有其他依賴。接下來我們用ipython來展示一些基本用法:
[dechin@dechin-manjaro table]$ ipython
Python 3.8.5 (default, Sep 4 2020, 07:30:14)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: from tabulate import tabulate
In [2]: import numpy as np
In [3]: header=['index']+list(range(4)) # 表頭的定義
In [4]: header
Out[4]: ['index', 0, 1, 2, 3]
In [8]: table=[('Alice',1,2,3,4),('Bob',2,3,4,5)] # 表格內容的定義
In [9]: table
Out[9]: [('Alice', 1, 2, 3, 4), ('Bob', 2, 3, 4, 5)]
In [11]: print(tabulate(table,headers=header,tablefmt='grid')) # 用grid的格式打印表格內容
+---------+-----+-----+-----+-----+
| index | 0 | 1 | 2 | 3 |
+=========+=====+=====+=====+=====+
| Alice | 1 | 2 | 3 | 4 |
+---------+-----+-----+-----+-----+
| Bob | 2 | 3 | 4 | 5 |
+---------+-----+-----+-----+-----+
In [12]: print(tabulate(table,headers=header,tablefmt='fancy_grid')) # 用fancy_grid的格式打印
╒═════════╤═════╤═════╤═════╤═════╕
│ index │ 0 │ 1 │ 2 │ 3 │
╞═════════╪═════╪═════╪═════╪═════╡
│ Alice │ 1 │ 2 │ 3 │ 4 │
├─────────┼─────┼─────┼─────┼─────┤
│ Bob │ 2 │ 3 │ 4 │ 5 │
╘═════════╧═════╧═════╧═════╧═════╛
在這個案例中,我們分別產生了數組格式的表頭和表格內容,然后用tabulate進行封裝之后再打印出來。由于tabulate支持多種格式的輸出,這里我們展示的僅有grid和fancy_grid兩種個人比較喜歡的格式。其他類型的格式還有:
"plain"
"simple"
"github"
"grid"
"fancy_grid"
"pipe"
"orgtbl"
"jira"
"presto"
"psql"
"rst"
"mediawiki"
"moinmoin"
"youtrack"
"html"
"latex"
"latex_raw"
"latex_booktabs"
"textile"
類似于tabulate的,prettytable的主要目的也是規范化的美化表格數據的輸出,但是在使用方法上略有差異,在不同的場景下可以使用不同的方案。這里我們先看一下prettytable的安裝,同樣可以使用pip來進行管理:
[dechin@dechin-manjaro table]$ python3 -m pip install prettytable
Collecting prettytable
Downloading prettytable-2.1.0-py3-none-any.whl (22 kB)
Requirement already satisfied: wcwidth in /home/dechin/anaconda3/lib/python3.8/site-packages (from prettytable) (0.2.5)
Installing collected packages: prettytable
Successfully installed prettytable-2.1.0
安裝完成后我們用一個py文件的示例來展示其用法:
# pt_test.py
from prettytable import PrettyTable
tb = PrettyTable() # 生成表格對象
tb.field_names = ['Index', 0, 1, 2, 3] # 定義表頭
tb.add_row(['Alice',1,2,3,4]) # 添加一行,列是column
tb.add_row(['Bob',2,3,4,5])
print (tb) # 打印輸出
代碼的執行結果如下:
[dechin@dechin-manjaro table]$ python3 pt_test.py
+-------+---+---+---+---+
| Index | 0 | 1 | 2 | 3 |
+-------+---+---+---+---+
| Alice | 1 | 2 | 3 | 4 |
| Bob | 2 | 3 | 4 | 5 |
+-------+---+---+---+---+
由于使用的案例跟上面介紹的tabulate是一樣的,所以輸出結果也類似,相當于多了一種輸出格式。但是除了輸出格式之外,我們發現prettytable可以很好地利用行和列的添加的形式來進行表格操作,操作習慣更接近于數據庫的操作形式,因此對于經常使用數據庫的人而言,prettytable可能是一種更好的表格數據輸出解決方案。
本文介紹了兩種表格數據的打印工具:tabulate和prettytable的安裝與基本使用方法。由于表格數據本身是沒有對輸出格式進行規范化的,因此打印出來的數據會顯得比較雜亂,不利于直觀的閱讀。因此引入這兩種工具,加強了輸出結果的可讀性。這兩者在使用上各有優劣,tabulate支持更多形式的表格樣式,而prettytable則使用了更加接近于數據庫的操作形式,對于部分用戶而言有天然的生態優勢。
本文首發鏈接為:https://www.cnblogs.com/dechinphy/p/table.html
作者ID:DechinPhy
更多原著文章請參考:https://www.cnblogs.com/dechinphy/
打賞專用鏈接:https://www.cnblogs.com/dechinphy/gallery/image/379634.html
*請認真填寫需求信息,我們會在24小時內與您取得聯系。