我正在使用带有AntennaHouse渲染器的HTML和CSS进行打印布局。
我的内容中的一个框应该有20pt的上边距。易:
margin-top: 20pt;
但是,只有当元素不位于新页面的开头时(当没有分页符恰好在元素之前)时,才应该应用上边距。
有没有人知道该怎么做?
XSL-FO解决方案也受到欢迎,因为AntennaHouse具有与FO和CSS渲染相同的功能......
答案 0 :(得分:1)
尝试-ah-margin-break
(请参阅https://www.antennahouse.com/product/ahf66/ahf-ext.html#axf.margin-break)。
-ah-margin-break: discard
将丢弃“位于文档开头的块的前侧或在强制分页/列中断之后的紧挨着的空白”。我不确定“强制”是否涵盖了由于上一列/页面已满而引起的列/页面中断。
答案 1 :(得分:0)
在XSL-FO中,您使用space-before而不是margin-top来实现此目的。 {$ 3}}位于页面顶部。您可以通过设置space-before.conditionality =" retain"来控制此行为,即使该块位于页面顶部,也将包括空格。
答案 2 :(得分:0)
Antenna House还提供了一些XSL / CSS扩展(附加属性或值)。 如果您查看此文档http://www.antennahouse.com/product/ahf60/docs/ahf-ext.html#IDASJ5GB,您会找到可以满足您要求的 -ah-margin-break 属性。
请注意,这是一个非标准功能(关于XSL-FO和CSS规范),仅在Antenna House Formatter中提供。