如何在 PowerShell HTML 輸出中使用 CSS 樣式?
層疊樣式表 (CSS) 通常用於使用樣式格式化 HTML。它描述瞭如何顯示 HTML 元素。
一旦我們從Convertto-HTML命令獲得輸出,我們就可以使用 CSS 樣式使輸出更具樣式。
假設我們有以下將服務輸出表轉換為 HTML 的示例。
示例
Get-Service | Select Name, DisplayName, Status, StartType | ConvertTo-Html -Title "Services" -PreContent "<h1>Services Output</h1>" | Out-File Servicesoutput.html
上述命令在 HTML 中的輸出很簡單。

有多種方法可以在上述 HTML 檔案中新增CSS樣式,以便檔案輸出更具樣式。我們將使用最常見的方法來新增CSS樣式。
頭部
CSSURI
頭部方法。
Convertto-HTML cmdlet 支援 -Head 屬性。我們可以為 HTML 提供標題以及<style></style>標籤,以便 PowerShell 能夠理解樣式。例如,
示例
$head = @"
<style>
body
{
background-color: Gainsboro;
}
table, th, td{
border: 1px solid;
}
h1{
background-color:Tomato;
color:white;
text-align: center;
}
</style>
"@
Get-Service | Select Name, DisplayName, Status, StartType | ConvertTo-Html -Title "Services" -PreContent "<h1>Services Output</h1>" -Head $head | Out-File Servicesoutput.html在上面的指令碼中,我們使用了$head作為陣列,因此我們可以在<style></style>標籤之間包含整個CSS指令碼。
第一個元素是 HTML body,我們為網頁的背景顏色提供了Gainsboro。接下來,我們使用table, th(表頭)和td(表格資料)來覆蓋其邊框,最後,我們在<h1></h1>標籤之間使用了-Precontent屬性,同時我們在CSS檔案中也提到了h1標籤,因此我們根據我們的樣式要求提供不同的屬性。
輸出

同樣,您可以使用 CSS 參考指南並使用多種樣式。這種方法很簡單,因為當您共享指令碼時,您不需要向其他使用者提供單獨的 CSS 檔案,但問題是當您新增更多樣式時,指令碼有時會變得很長。為了克服這個問題,我們可以向Convertto-HTML cmdlet 提供外部 CSS 檔案,如第二種方法所示。
Cssuri 方法(外部 CSV)
在這種方法中,我們不向Convertto-HTML cmdlet 提供Header屬性,而是可以使用cssuri屬性來連結外部 CSS 檔案。CSS 檔案將與第一種方法中提到的相同,除了不會新增<style></style>引數。首先,我們將檢查名為Style.css的儲存的CSS檔案,然後我們將檢視連結外部CSS檔案的指令碼。
CSS 檔案 (style.css)。
body
{
background-color: Gainsboro;
}
table, th, td{
border: 1px ridge;
}
h1{
background-color:Tomato;
color:white;
text-align: center;
}
指令碼
Get-Service | Select Name, DisplayName, Status, StartType | ConvertTo-Html -Title "Services" -PreContent "Services Output
" -CssUri .\style.css | Out-File Servicesoutput.html
如前所述,在單獨的 CSS 檔案中,您不需要提及<style></style>標籤。在上面的命令中,我們向 -Cssuri cmdlet 提供了 CSS 檔案的路徑。這裡,指令碼和 CSS 檔案都位於同一位置。如果 CSS 檔案位於不同的位置,則需要提供 CSS 檔案的完整路徑。輸出與第一個示例中顯示的相同。

資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP