CSS Screen&打印问题

时间:2011-02-04 15:30:39

标签: html css

我需要根据HTML在屏幕上显示以下div,但是当我打印索赔人名称,案例信息,联系人时,文件应该打印在第一页上,而索赔人姓名,服务应该打印在第二页上

有人可以告诉我一种使用CSS解决问题的方法吗?

<body>        
    <div>Claimant Name</div>

    <div>Case Info</div>    

    <div>Contacts</div>

    <div>Files</div>

    <div>Service</div>
</body>

4 个答案:

答案 0 :(得分:3)

您不能保证HTML的打印方式 - 这根本不可能。如果您需要保证文档的打印方式,您需要使用iTextSharp或类似的

创建类似PDF的内容

答案 1 :(得分:2)

您可以使用CSS在监视器显示屏和打印版本上显示和隐藏各种元素。例如,您可以在文档上使用Claimant Name两次,但第二个隐藏在屏幕上。打印时可以看到它。

然而,您无法在打印网页时控制分页。您可能需要考虑pdf或其他印刷文档格式。与纸质打印输出相比,HTML更倾向于浏览器显示。

答案 2 :(得分:2)

我在CSS Creator发布的答案相同:

DIV没有任何语义含义,所以绝对有更好的方法来标记它。它确实涉及添加第二个名称字段,但我不认为这是任何类型的问题。

<!DOCTYPE html>
<html>
<head>
    <title>Le documents judiciaires</title>
    <style type="text/css" media="screen">
        #secondPage .name {
            display: none;
        }
    </style>
    <style title="text/css" media="print">
        #secondPage {
            page-break-before: always;
        }
    </style>
</head>

<body>
    <div id="firstPage">
        <div class="name">Claimant Name</div>
        <div>Case Info</div>
        <div>Contacts</div>
        <div>Files</div>
    </div>
    <div id="secondPage">
        <div class="name">Claimant Name</div>
        <div>Service</div>
    </div>
</body>
</html>

答案 3 :(得分:1)

使用the page break properties(浏览器支持可变)。确保样式表适用于打印介质。