我正在使用基于SVG的图表制作仪表板。当我打印页面时,图表会四处移动以防止在其中发生分页。这是不可取的,打破了我的布局,但我无法弄清楚是什么导致它。
示例:
结果:每页2个完整框,边距不均
预期:每页2.5个方框,边距均为
非常感谢任何帮助
编辑:这是gallery of what I'm talking about。显然这个问题不会影响所有浏览器/操作系统?
答案 0 :(得分:4)
这是不可能的。
根据http://www.w3.org/TR/CSS2/page.html#allowed-page-breaks,这些是元素在页面间断开的唯一情况:
在正常流程中,分页符可能出现在以下位置:
- 在块级框之间的垂直边距中。当此处发生非强制分页符时,相关的' margin-top' 和' margin-bottom'属性设置为' 0'。当一个强制页面 在这里发生中断,相关的'保证金 - 底部' 属性设置为' 0&#39 ;;相关的' margin-top'使用价值可能 要么被设置为' 0' 0或保留。
- 在块容器盒内的行框之间。
- 在块容器框的内容边缘与其子内容的外边缘之间(块级子项或边框的边缘) 如果存在(非零)间隙,则为内联级子级的行框边 他们之间。
醇>
你想要(2),而你得到(1)。
问题是<svg>
元素被替换为内容。
根据http://www.w3.org/TR/CSS2/visuren.html#block-boxes,替换的元素不会阻止容器盒:
除了在后面的章节中描述的表格盒子,和 替换元素,块级框也是块容器框。
这意味着<svg>
无法实现(2),因此您无法获得所需内容。
答案 1 :(得分:0)
我通过将position: absolute
应用于父容器来解决这个问题。