2

这是我的打印页面的样子,

在此处输入图像描述

这是我的html一瞥,

<style>
    .container{
        float: left; 
        border: 1px solid Black; 
        width: 400px;
        height: 350px;
        margin: 10px;
        padding: 10px;
        page-break-inside: avoid;
    }
    .container img{
        max-width: 200px;
        max-height: 200px;
    }
</style>
<div class="container">
    <b>Name: </b>@Product.Name<br />
    <b>Model: </b>@Product.ModelNumber<br />
    <img src="@Product.ImagePath" /><br />
    <span style="font-size: 20px">DetailedDescriptions</span><br />
    @foreach(var attr in Product.DetailedDescriptions){
        @attr.Header<br />
    }
    <span style="font-size: 20px">KeyAttributes</span><br />
    @foreach(var attr in Product.KeyAttributes){
        @attr.Name<br />
        @attr.Value<br />
    }
</div>

如何使用css确保每6个div后分页符

4

3 回答 3

4

您应该封装您的div并在HTML中创建这种类型的更好结构:

<body>
    <div class="container-holder">
        <div class="container-row">
            <div class="container"></div>
            <div class="container"></div>
        </div>
        <div class="container-row">
            <div class="container"></div>
            <div class="container"></div>
        </div>
        <div class="container-row">
            <div class="container"></div>
            <div class="container"></div>
        </div>
    </div>
    <div class="container-holder">
        <div class="container-row">
            <div class="container"></div>
            <div class="container"></div>
        </div>
        <!-- keep adding more container-rows -->
    </div>
</body>

然后在CSS中考虑几件事:

  1. 正文占据整个页面
  2. 使用分页符:避免;
  3. 以像素为单位为div提供特定的宽度和高度
  4. 容器应该有display: inline-blockvertical-align: bottom;
  5. 容器持有者应该有display:block属性
  6. [奖励] 避免内联样式

这是一个工作的jsFiddle

我已经在 jsFiddle 之外尝试过,我得到了这个结果:

打印预览

于 2013-07-17T12:17:45.307 回答
3

您可以使用

div:nth-of-type(6n) {
    page-break-after:always;
}

在每个 6. div 之后插入一个分页符,但我认为这不适用于浮动。

于 2013-07-17T11:41:14.747 回答
1

你可以这样做:

小提琴

.wrapper div:nth-child(6n)
{
    margin-bottom: 300px;
}

这意味着:在每 6 个容器之后 - 添加 x px 的底部边距(您需要多少),以便它将下一个框推到下一页。

于 2013-07-17T11:40:48.387 回答