如何在 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 檔案的完整路徑。輸出與第一個示例中顯示的相同。

更新於:2020年11月11日

5K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.