选择页面上的最后一个元素(分页媒体)
Selecting the last element on page (paged media)
我想 select 打印页面上的最后一个元素。例如,给定此 HTML(假设打印页面的高度为 100px):
<!-- other content before -->
<div id="TheThing">
<section id="a">Some content</section>
<section id="b">Some content</section>
<section id="c">This will be the last section on the page</section>
<section id="d">This section will start on the next page</section>
<section id="e">This is the last section</section>
</div>
<!-- other content after -->
和这个 CSS:
#TheThing {
page-break-before: always;
page-break-after: always;
}
section {
height: 30px;
border-bottom: solid 1px black;
page-break-inside: avoid;
}
我希望能够 select 每个打印页面上的 最后一个元素 ,在本例中 #c
(还有 #e
,尽管如有必要,可以使用 :not(:last-child)
) 轻松排除并移除其边框。
所需输出的近似值:
目前我正在使用 Prince XML。我不想用它 JavaScript.
可能吗?
我认为这是无法控制的。主要原因是没有 "last in page" 这样的东西,因为根据您打印的纸张,可能会有更多元素,这发生在 CSS 应用于 [=19= 之后] 元素,您的文档无法访问此信息。
但是,如果您 100% 知道自己将使用哪种类型的纸张来打印它,比如说 A4,您可以为父元素和子元素设置高度,然后使用简单的 :nth-child()
伪select或者您将能够控制select应用样式的哪一个。这是因为你知道 A4 的高度,所以你可以准确地预测,假设 none 将向打印预览页面添加任何不同的选项(即缩放等)。此外,您可以将此 CSS 放在 @media print
中,这样它只应用于打印的页面。
Prince 的创始人和首席程序员在他们的论坛中表示,如果没有 JavaScript 和 运行 文档两次通过 Prince,这是不可能的。抱歉:(
我想 select 打印页面上的最后一个元素。例如,给定此 HTML(假设打印页面的高度为 100px):
<!-- other content before -->
<div id="TheThing">
<section id="a">Some content</section>
<section id="b">Some content</section>
<section id="c">This will be the last section on the page</section>
<section id="d">This section will start on the next page</section>
<section id="e">This is the last section</section>
</div>
<!-- other content after -->
和这个 CSS:
#TheThing {
page-break-before: always;
page-break-after: always;
}
section {
height: 30px;
border-bottom: solid 1px black;
page-break-inside: avoid;
}
我希望能够 select 每个打印页面上的 最后一个元素 ,在本例中 #c
(还有 #e
,尽管如有必要,可以使用 :not(:last-child)
) 轻松排除并移除其边框。
所需输出的近似值:
目前我正在使用 Prince XML。我不想用它 JavaScript.
可能吗?
我认为这是无法控制的。主要原因是没有 "last in page" 这样的东西,因为根据您打印的纸张,可能会有更多元素,这发生在 CSS 应用于 [=19= 之后] 元素,您的文档无法访问此信息。
但是,如果您 100% 知道自己将使用哪种类型的纸张来打印它,比如说 A4,您可以为父元素和子元素设置高度,然后使用简单的 :nth-child()
伪select或者您将能够控制select应用样式的哪一个。这是因为你知道 A4 的高度,所以你可以准确地预测,假设 none 将向打印预览页面添加任何不同的选项(即缩放等)。此外,您可以将此 CSS 放在 @media print
中,这样它只应用于打印的页面。
Prince 的创始人和首席程序员在他们的论坛中表示,如果没有 JavaScript 和 运行 文档两次通过 Prince,这是不可能的。抱歉:(