如何在 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.