【发布时间】:2012-03-03 02:18:36
【问题描述】:
我现在遇到了很大的问题。仅在 Firefox 中存在问题(使用 FF10 进行测试),此错误不会在 Chrome 17 或任何 IE 中发生。
事情就是这样。我的页面架构看起来像这样
<div id="container">
<div id="a">
<img src="foo/bar.png" />
</div>
<div id="b">
<div id="c">
<!--short content-->
</div>
<div id="d">
<!--long content-->
</div>
</div>
</div>
编辑:有些人要求 CSS 的一部分。我这里的代码被简化了很多,这里有一个简化版的 css 来匹配。
#container {
margin: 0 auto;
position: relative;
width: 1000px;
}
#a{
height: 156px;
margin: 0 auto;
position: relative;
text-align: center;
top: 2px;
width: 918px;
}
#b {
background-color: #FFFFFF;
font-size: 12px;
margin: 0 auto;
text-align: left;
width: 958px;
}
#c{
background: url("images/top_content.gif") no-repeat scroll left top #FFFFFF;
height: 50px;
margin: 0 auto;
width: 100%;
}
#d{
padding: 40px 0px;
}
作为奖励,#d div 的计算高度为 874px(使用 firebug 计算)
还应指出,当内容足够短以适合页面时,内容部分 (#d) 不会有分页符并停留在第一页上。
这只发生在例如在 chrome 中,我可以看到 #d 的内容将在第二页溢出。
所以问题来了。如何防止 #c 和 #d div 之间出现换行符?
【问题讨论】:
-
您能否更新您的问题,同时发布容器、a、b 和 c 元素的 CSS?无论如何,您的容器 div 上都缺少关闭
> -
我刚刚在问题中添加了 CSS 的一部分。
-
这只是在打印过程中发生,还是在正常查看页面时发生?
-
仅在打印期间...我看不出您如何在正常网页中出现分页符... :)
-
好吧,我只是通过将#a 和#c div 放在#d div 的开头并使用CSS 仅在打印页面时才显示它们来解决问题。但是,如果有人对此问题有可靠的答案,欢迎他发表。该旁路不会每次都起作用。
标签: html css firefox printing page-break