检测元素溢出打印宽度的最可靠方法

时间:2015-09-25 12:00:25

标签: javascript jquery html css

我有<table>用户自定义元素数量,字体和字体大小,用户经常打印表格。如果表太宽而无法放在单个打印页面上,则某些列会被切断,用户可能直到稍后才意识到,此时用户会感到不安。

是否有一种很好的方法来检测表格何时溢出打印宽度,以便我可以警告用户?我知道正确的答案是“网页浏览器不是为打印设计的,你不能这样做”,所以我对黑客很满意。现在我使用jQuery outerWidth()来查看宽度是否大于700px。还有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

最好的方法是使用media print css样式表,在其中指定表的最大宽度,并确保使用table-layout:fixed;。另外,你可以设置自动换行,这样当你处理大量输入时,一切都会很好地破坏。

@media print {
    html{
        width: 100%;
        max-width: 700px;
    }
    .toprinttable {
        font-size: 11px;
        max-width: 700px;
        border: 0;
        table-layout:fixed; /*This is important*/
        word-wrap:break-word;
        border-collapse:collapse;
    }
}