运行 header 嵌套生成的内容
Running header with nested generated content
这是一个关于分页媒体的问题。
我想混合 string-set 和 运行 元素。它适用于 PrinceXML 但不适用于 PDFReactor。我的问题是,这在 PDFReactor 中可行吗?
HTML
<p class="head">
<span class="first">Repeatable title</span>
<span class="divider">|</span>
<span class="last"></span>
</p>
CSS
p.head {
position: running(heading);
font-size: 8pt;
margin: 0;
padding: 0;
}
@page {
size: A4;
@top-left {
content: element(heading);
}
}
到目前为止一切都很顺利。但是当我尝试从 H1 定义 string-set 并尝试将其写入 span.last 时,这是行不通的。
h1 {
string-set: doctitle content();
}
p.head span.last {
content: string(doctitle);
}
PDFreactor 也可以做到这一点。只是语法有点不同。 PDFreactor 不支持带有命名字符串的 string-set
属性 的 content()
函数。相反,它使用 self
值,其工作方式类似于 content()
或 content(text)
(请参阅 http://www.pdfreactor.com/product/doc_html/index.html#NamedStrings)
还有第二个问题。您正在 span 元素本身上设置 content
属性 。通常在 CSS 中,使用 content
属性 创建生成的内容实际上只允许用于页边距框和伪元素,例如 ::before
和 ::after
。这也是浏览器支持它的方式。不确定为什么这在 Prince 中有效。
所以基本上你只需要对你的风格做 2 次小调整 sheet 就可以在 PDFreactor 中工作:
h1 {
string-set: doctitle self;
}
p.head span.last::before {
content: string(doctitle);
}
这是一个关于分页媒体的问题。 我想混合 string-set 和 运行 元素。它适用于 PrinceXML 但不适用于 PDFReactor。我的问题是,这在 PDFReactor 中可行吗?
HTML
<p class="head">
<span class="first">Repeatable title</span>
<span class="divider">|</span>
<span class="last"></span>
</p>
CSS
p.head {
position: running(heading);
font-size: 8pt;
margin: 0;
padding: 0;
}
@page {
size: A4;
@top-left {
content: element(heading);
}
}
到目前为止一切都很顺利。但是当我尝试从 H1 定义 string-set 并尝试将其写入 span.last 时,这是行不通的。
h1 {
string-set: doctitle content();
}
p.head span.last {
content: string(doctitle);
}
PDFreactor 也可以做到这一点。只是语法有点不同。 PDFreactor 不支持带有命名字符串的 string-set
属性 的 content()
函数。相反,它使用 self
值,其工作方式类似于 content()
或 content(text)
(请参阅 http://www.pdfreactor.com/product/doc_html/index.html#NamedStrings)
还有第二个问题。您正在 span 元素本身上设置 content
属性 。通常在 CSS 中,使用 content
属性 创建生成的内容实际上只允许用于页边距框和伪元素,例如 ::before
和 ::after
。这也是浏览器支持它的方式。不确定为什么这在 Prince 中有效。
所以基本上你只需要对你的风格做 2 次小调整 sheet 就可以在 PDFreactor 中工作:
h1 {
string-set: doctitle self;
}
p.head span.last::before {
content: string(doctitle);
}