html 绝对定位 打印,打印时绝对定位元素的位置不正确

我目前正面临一个奇怪的问题(很可能,我根本没有意识到这里有重要的东西)。打印时绝对定位元素的位置不正确

我有以下的HTML片段

Hallo Welt

而下面的JavaScript代码段:

$(function() {

$('#test').offset({

position: 'absolute',

width: '100px',

left: ($('body').width() - $('#test').width())/2.0

})

});

这应该使测试DIV水平居中,其在浏览器中工作完全正常。但是,当我尝试打印此页面时,该元素显示在打印页面的右上角,而不是中间。

我想,也许有件事错了,所以我尝试像EM其他措施,使用像素定位的元素进行打印:

$(function() {

$('body, #test').css({ 'font-size': '12px' });

$('#test').css({

left: (($('body').width() - $('#test').width())/24.0) + 'em'

})

});

但不幸的是,结果都是一样的,不管是什么浏览器我尝试.. 。 我在这里错过了什么? #

为了回应阿德里安,我做了一个尽可能简单的示例,以便为每个人提取可重现的问题。

$(function() {

$('#test').css({

background:'red',

position: 'absolute',

width: '100px',

left: ($('body').width() - 100)/2.0

});

});

Lord

我还观察到#test在打印文档中的位置取决于打印时浏览器窗口的大小。

+0

是否有可能你有一个'@ media print'查询在你的css导致它做别的事情? –

+0

@Adrian我补充我的问题有一个独立的样本,你可以尝试在你的compuer ;-) –

+0

我意识到,$(“#一些-DIV”)。宽度()返回在浏览器中的div宽度的大小,而不是打印页面内的宽度。这就是问题开始的地方。有没有办法在打印时查询“画布”或任何可以返回浏览器或打印页面中div的宽度的宽度? –


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部