html - 打印 Avery 5160 标签时出现对齐问题

标签 html css printing

我正在尝试打印一堆数据,这是我的 Avery 5160 标签

的 css
body {
    width: 8.27in;
    margin: 0in .2in;
}
.label {
    /* Avery 5160 labels */
    width: 3.24016in; /* plus .6 inches from padding */
    height: 1.381in; /* plus .125 inches from padding */
    padding: .125in 0 .05in .3in;
    margin-right: .515in; /* the gutter */

    float: left;

    /* text-align: center; */
    overflow: hidden;

    outline: 1px dotted;  /*outline doesn't occupy space like border does */
}

问题是,如果我打印 16 个标签,即 1 页,效果会很好。但是,如果转到第 2 页底部标签,则第 2 页会出现裁剪和困惑。

我的php测试代码

$max = 15; // if max then 15 :/ i cri
 $str1 = "<b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958";
for ($i=0; $i <= 16; $i++) { 
 echo'<div class="label">'. $str1.'</div>';
}

打印脚本

var t;
function prt()
{
    clearTimeout(t);
    window.print();
}
t=setTimeout("prt()",1000);

附上 SS Attaching SS

附上完整的源代码 Source

最佳答案

在我的预览中,如果我打印,它看起来会有所不同。我认为这与打印机的边距有关。

无论如何,我将您的 float:left; 更改为 display:inline-block 并在 14 个元素后添加分页符。这对你有用吗?

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Artpro</title>
<style>
body {
    width: 8.27in;
    margin: 0in .2in;
}
.label {
    /* Avery 5160 labels */
    width: 3.24016in; /* plus .6 inches from padding */
    height: 1.381in; /* plus .125 inches from padding */
    padding: .125in 0 .05in .3in;
    margin-right: .515in; /* the gutter */

    display: inline-block;

    /*text-align: center;*/
    overflow: hidden;

    outline: 1px dotted;  /*outline doesn't occupy space like border does */
}
@media all {
    .page-break { display: none; }
}

@media print {
    .page-break { display: block; page-break-before: always; }
}
</style>

<script>
    var t;
    function prt()
    {
        clearTimeout(t);
        window.print();
    }
    t=setTimeout("prt()",1000);
</script>

</head>

<body>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
    <div class="label"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>

    <div class="label page-break"><b>Title </b></br>Fname Lname</br>Media Type</br>200x500 cm</br>1958</div>
</body>
</html>

关于html - 打印 Avery 5160 标签时出现对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32623570/

相关文章:

wpf - 如何在打印时使用 WPF 绑定(bind)?

html - 相同的 CSS 样式格式根据模式不同

javascript - 如何制作一个html随机重定向

javascript - 获得个人等级和值(value)

html - anchor 标签有 :focus style applied on click

java - 如何获取原始打印机托盘 ID

html - col-*-push et col-*-pull 不工作

css - 响应式两列布局重新排序 block

javascript - 在相邻的表格单元格中设置单选标签的样式

delphi - 如何打印大于一页的图像