【问题标题】:Margin changes in every page in HTML Django TemplateHTML Django模板中每个页面的边距变化
【发布时间】:2020-11-21 21:54:18
【问题描述】:

我从以下代码创建了一个 django 模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            box-sizing: border-box;
        }

        .grid-container {
            width: 21cm;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .page {
            width: 21cm;
            height: 29.7cm;
            padding-top: 1.5362cm;
            padding-bottom: 1.5362cm;
            padding-left: 0.5122cm;
            padding-right: 0.5122cm;
        }

        .grid-row {
            display: flex;
        }

        .grid-col {
            margin-left: 0.0854cm;
            margin-right: 0.0854cm;
            width: 9.9024cm;
            height: 3.7552cm;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #eee;
        }

        img {
            max-width: 100%;
            height: auto;
        }
    </style>
</head>
<body>
<div class="grid-container">
    {% for page in imglist %}
    <div class="page">
        {% for row in page %}
        <div class="grid-row">
            <div class="grid-col">
                    <span style="text-align: center">
                        Yantraksh Logistics Pvt Ltd
                <img src="data:image/png;base64,{{ row.image }}" alt="" srcset="">
                        <br>
                        {{ row.label }} <br>
                        {% if row.lname  %}
                        {{ row.lname }}
                        {% else %}
                            _____
                        {% endif %}

                    </span>
            </div>
            <div class="grid-col">
                    <span style="text-align: center">
                        Yantraksh Logistics Pvt Ltd
                <img src="data:image/png;base64,{{ row.image }}" alt="" srcset="">
                        <br>
                        {{ row.label }}<br>
                        {% if row.lname  %}
                        {{ row.lname }}
                        {% else %}
                            _____
                        {% endif %}
                    </span>
            </div>
        </div>
        {% endfor %}
    </div>
    {% endfor %}


</div>
</body>
</html>

第一页已正确呈现,但一旦页面增加边距开始减少并且页面开始合并在一起,我对此并不熟悉,因此不胜感激。

为了更好的理解,我添加了第一页和第 9 页

首页:

第九页:

请帮忙!!!

打印机的边距设置为无,缩放默认值和 A4 尺寸

【问题讨论】:

  • 如果你想强制元素在不同的页面上,你可以查看 page-break-beforepage-break-after CSS 规则
  • @IainShelvington 其实我对 css 不熟悉,能不能具体点帮忙?

标签: html css django layout django-templates


【解决方案1】:

您不会删除添加到 bodyhtml 的默认填充和边距。为了安全起见,请从29.7cm 降低页面高度(尽管这是正确的高度),并按照评论中的建议引入page-break。另外,删除给 .grid-container 的 flex 以进行精确测量。

    <style>
        @media print {

        }

        * {
            box-sizing: border-box;
        }

        body, html {
            padding: 0;
            margin: 0;
        }

        .grid-container {
            width: 21cm;
            /* display: flex;
            flex-direction: column;
            justify-content: space-between; */
        }

        .page {
            width: 21cm;
            height: 29.5cm;
            padding-top: 1.5362cm;
            padding-bottom: 1.5362cm;
            padding-left: 0.5122cm;
            padding-right: 0.5122cm;
            break-after: always;
            page-break-after: always;
        }

        .grid-row {
            display: flex;
            height: 3.7552cm;
        }

        .grid-col {
            margin-left: 0.0854cm;
            margin-right: 0.0854cm;
            width: 9.9024cm;
            height: 3.7552cm;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        img {
            max-width: 100%;
            height: auto;
        }
    </style>

【讨论】:

    猜你喜欢
    • 2011-09-19
    • 2013-01-24
    • 2010-12-02
    • 2014-07-27
    • 2010-12-05
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    相关资源
    最近更新 更多