Dav*_*ave 12 css firefox truncate fieldset print-css
我一直在页面标题中为现有项目添加一些新的CSS(使用media ="print").它是顺利的(一次!)IE给出了很好的预期结果,但Firefox不...
问题是我有一个包含很多字段的字段集,Firefox完全拒绝(即使在最新版本中)允许在字段集内部进行分页.这意味着任何不适合一页的东西都会丢失......
我已经在mozilla网站上发现了已经开放3年的错误 - https://bugzilla.mozilla.org/show_bug.cgi?id=471015 - 但找不到任何合理的解决方法......
在我想删除字段集或类似之前的任何建议?
谢谢,戴夫
我的FF JQuery解决方案:
<script type='text/javascript'>
$(window).bind('beforeprint', function(){
$('fieldset').each(
function(item)
{
$(this).replaceWith($('<div class="fieldset">' + this.innerHTML + '</div>'));
}
)
});
$(window).bind('afterprint', function(){
$('.fieldset').each(
function(item)
{
$(this).replaceWith($('<fieldset>' + this.innerHTML + '</fieldset>'));
}
)
});
</script>
Run Code Online (Sandbox Code Playgroud)
正如我所猜测的,在最新的Nightly中它仍然被破坏。
您可以尝试执行类似于IE Print Protector(又名广泛使用的html5shiv)的操作。
http://www.iecss.com/print-protector/#how-it-works
为了在打印中正确显示元素,IE Print Protector 在打印时会暂时将 HTML5 元素替换为受支持的后备元素(例如 div 和 span)。IE Print Protector 还会根据您现有的样式为这些元素创建一个特殊的样式表;这意味着您可以通过链接、样式、@imports 和 @media 中的元素名称安全地设置 HTML5 元素的样式。之后,IE Print Protector 会立即将原始 HTML5 元素恢复到页面中您离开的位置。对这些元素的任何引用以及这些元素上的任何事件都将保持不变。
火狐现在支持 onbeforeprint.
因此,当onbeforeprint被触发时,您可以将fieldsets 更改为divs 或其他内容。
我不确定这有多可行,而且听起来确实很复杂。
| 归档时间: |
|
| 查看次数: |
4253 次 |
| 最近记录: |