html - 使用 page-break-after 在 6 div 之后分页?

标签 html css

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

enter image description here

这是我的 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 后分页

最佳答案

您应该封装您的 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. 使用page-break-inside: avoid;
  3. divs 提供以像素为单位的特定宽度和高度
  4. 容器 应该有 display: inline-blockvertical-align: bottom;
  5. container-holders 应该有 display:block 属性
  6. [bonus] 避免内联样式

这是一个有效的 jsFiddle

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

print preview

关于html - 使用 page-break-after 在 6 div 之后分页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17698026/

相关文章:

jquery - Flexslider 居中问题

css - 堆叠在小型设备上的 Flexbox

android - 在 Android 浏览器中压缩的背景图像

css - 调整包含 div 内的两个按钮的宽度

jquery - javascript json ajax数据解析

html - 如何将 XUL 插入 XHTML 文档

html - 在可缩放图像上定位文本

html - 100% div的外部和内部

html - 如何在 <td> 中放置元素?

javascript - 根据当前屏幕窗口大小为我的模态窗口设置最大高度