由于工作需求,學習了一些html的相關知識,最終應用到打印功能上使用。
HTML是指超文本標記語言(HyperText Markup Language)。它是一種用于創建和呈現互聯網上頁面的標準標記語言。HTML是Web開發的基礎,是構建網頁和應用程序的檢查點之一。
作為新手,首先我了解了一些概念:
https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web
https://www.runoob.com/html/html-basic.html
https://www.cnblogs.com/anding/p/16811255.html
https://blog.csdn.net/rulaixiong/article/details/129623458
可以在網站上直接測試:測試網站-菜鳥工具
HTML 不是一門編程語言,而是一種用于定義內容結構的標記語言。HTML 由一系列的元素組成,這些元素可以用來包圍不同部分的內容,使其以某種方式呈現或者工作。一對標簽可以為一段文字或者一張圖片添加超鏈接,將文字設置為斜體,改變字號,等等。
一、HTML元素詳解
HTML 是一種格式的標記語言,每一個標簽都是以尖括號“<>”來定義的。HTML不區分大小寫,HTML中的標簽名、屬性名都統一小寫,都按照小寫來處理,就是說如果你大寫的也會被轉換為小寫,??自定義標簽、屬性時需注意。
<標簽名 屬性名=“屬性值”>內容</標簽名>
一個元素主要部分:開始標簽、結束標簽與內容相結合,開始標簽中還包括屬性/值。
-
開始標簽(Opening tag):包含元素的名稱(本例為 p),被大于號、小于號所包圍,表示元素從這里開始或者開始起作用。
-
結束標簽(Closing tag):與開始標簽相似,只是其在元素名之前包含了一個斜杠/,這表示元素的結尾。
-
內容(Content):元素的內容,元素標簽內的內容。
-
屬性:屬性定義元素的一些額外信息,一個屬性就是一個鍵值對組成屬性名=“屬性值”,值必須添加引號,多個屬性空格隔開。
元素也可以有屬性(Attribute):
屬性包含了關于元素的一些額外信息,這些信息本身不應顯現在內容中。本例中,class 是屬性名稱,editor-note 是屬性的值。class 屬性可為元素提供一個標識名稱,以便進一步為元素指定樣式或進行其他操作時使用。
屬性應該包含:
- 在屬性與元素名稱(或上一個屬性,如果有超過一個屬性的話)之間的空格符。
- 屬性的名稱,并接上一個等號。
- 由引號所包圍的屬性值。
📢單標簽(空元素):<標簽名>,<標簽名 屬性名=“屬性值”>。大部分元素標簽都是是雙標簽的形式,具有開始標簽、結束標簽。也有小部分元素沒有結束標簽,稱為單標簽,或空元素。HTML5中的單標簽不需要寫斜杠/,如
<hr>
,<br>
,<img>
,<input>
,<link>
,<meta>
,<base>
、table中的<col>
,<hr&source;
,<embed>
等。。。
HTML中的注釋格式:<!–注釋–>
剩下的屬性就不繼續多講了,上面提供的學習鏈接已介紹的很詳細了。
二、HTML表格
1、表格——創建
表格由行和列組成,創建時,表格、表格的行、表格的列是分開創建的。
<table>
標簽用來創建表格,<tr>
標簽用來創建行,<td>
標簽用來創建列
<table> <tr> <td>姓名</td> <td>年齡</td> </tr> <tr> <td>張三</td> <td>18</td> </tr>
</table>
效果如下:
我們只能看到六個元素呈表格狀的表現形式,但是沒有表格的邊框,那是我們丟掉了表格重要的屬性: border,它是用來控制表格邊框寬度的。
加上它 假設 border=“2px” ,
<table border="2px"> <tr> <td>姓名</td> <td>年齡</td> </tr> <tr> <td>張三</td> <td>18</td> </tr>
</table>
我們再看一下效果:
假設 border=“10px” ,
效果:
2、表格——設置表格的寬、高
我們用 border 來規定表格的邊框的寬度, width 規定表格的寬度, height 規定表格的高度。
設置屬性的先后順序為 border – width – height
創建一個表格,設置它的寬為100%,高為200px,邊框為1px:
<table border="1px width="100%" height="200px"> <tr> <td>姓名</td> <td>年齡</td> </tr> <tr> <td>張三</td> <td>18</td> </tr>
</table>
效果如下:
假設width=“100px”
假設width=“200px”
假設height=“100px”
假設height=“200px”
3、表格——cellpadding
在上邊我們設置了寬、高,可是內容是緊挨著邊框的,那怎么使表格的內容和邊框有間距呢?
我們用 cellpadding 來規定單元邊沿與其內容之間的空白。
來張圖說明一下具體是哪里:
灰色部分表示cellpadding,它的值表示灰色部分的寬度。
創建一個表格,它的邊框寬度為2px, cellpadding值為6
代碼如下:
<table border="2" cellpadding="6"><tr> <td>姓名</td> <td>年齡</td> </tr> <tr> <td>張三</td> <td>18</td> </tr>
</table>
效果如下:
假如cellpadding=“1px”
假如cellpadding=“10px”
4、表格——cellspacing
前面表格看起來就好像有兩個邊框一樣,怎么讓它變成一條邊框呢?
這是因為表格與th/td元素都有獨立的邊界。
我們用 cellspacing 來規定單元格之間的空間。
這里用圖來說明,如圖所示:
雙箭頭的大小表示 cellspacing 屬性的值。
創建一個表格,它的邊框寬度為1px,cellpadding值為10,cellspacing值為0
代碼如下:
<table border="1px" cellpadding="10" cellspacing="0"><tr> <td>姓名</td> <td>年齡</td> </tr> <tr> <td>張三</td> <td>18</td> </tr>
</table>
效果如下:
假設cellspacing=“0”
假設cellspacing=“10”
5、表格——表格的標題
表格一般都有標題來說明這個表格具體是做什么的。
我們用
<caption>
標簽來創建表格標題。
需要注意的是它的位置:緊隨<table>
標簽之后。
添加一個表格標題,內容為“信息統計”。
代碼所示:
<table border="1px" cellpadding="10" cellspacing="0"><caption>信息統計</caption><tr> <td>姓名</td> <td>年齡</td> </tr> <tr> <td>張三</td> <td>18</td> </tr>
</table>
效果如圖所示:
6、表格——<td>
標簽的 rowspan 屬性
我們想要創建一個成績表格時,只能每行都出現“科目”這個元素,
科目是包括語文、數學、英語的,每行都出現看起來分類不對,那么如何修改成融合的呢,這里就用到了rowspan屬性,它是用來規定單元格可橫跨的行數的。
我們用 rowspan 來規定單元格可橫跨的行數。
修改成如下效果:
代碼如圖:
7、表格——<td>
標簽的 colspan 屬性
上面我們講了 rowspan 是用來規定單元格可橫跨的行數的,那我們想要橫跨列該怎么辦呢?
我們用 colspan 來規定單元格可橫跨的列數。
效果如圖:
代碼如圖:
8、舉一個表格的綜合案例吧
效果如下:
-
邊框為2px;
-
寬為100%;
-
cellspacing為0;
-
cellpadding為6;
-
標題內容為本周財政計劃;
-
在
<style>
標簽里設置文本為居中對齊。 -
代碼如下:
<html>
<head><meta charset="UTF-8">
</head>
<body><!-- ********* Begin ********* --><style>body{margin:30px;}table{/*居中對齊*/text-align:center; }</style><!--設置表格--><table border="2" cellpadding="6" cellspacing="0" width="100%" ><caption>本周財政計劃</caption><tr><td rowspan="2" colspan="2">項目</td><td colspan="2">本周發生</td><td rowspan="2">備注</td></tr><tr><td>收入</td><td>支出</td> </tr><tr><td rowspan="3">收入</td><td>貸款收回</td><td>8700</td><td>0</td><td></td></tr><tr><td>內部轉款</td><td>6000</td><td>0</td><td></td></tr><tr><td>收入合計</td><td>14700</td><td>0</td><td></td></tr><tr><td rowspan="3">支出</td><td>采購支出</td><td>0</td><td>5000</td><td></td></tr><tr><td>工資支出</td><td>0</td><td>7000</td><td></td></tr><tr><td>支出合計</td><td>0</td><td>12000</td><td></td></tr></table> <!-- ********* End ********* -->
</body>
</html>
三、Qt中加載HTML并顯示,并打印
需要在pro文件中加 QT += printsupport
具體實現例程我放到下面了:
https://download.csdn.net/download/cao_jie_xin/88563876