css打印模式:仅在生成的单词doc

时间:2016-02-09 08:42:35

标签: html css ms-word wordml

我使用html代码成功生成word文档,页眉和页脚在css打印模式下设置样式,这是我的代码:

<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'>
<head><title>Mon document</title>
<meta charset=\"UTF-8\" />
<!--[if gte mso 9]>
<xml><w:WordDocument><w:View>Print</w:View><w:Zoom>100</w:Zoom><w:DoNotOptimizeForBrowser/></w:WordDocument></xml>
<![endif]-->
<link rel=File-List href=\"mydocument_files/filelist.xml\">
<style><!-- 
@page
{
    size:21cm 29.7cmt;  /* A4 */
    margin:1cm 1cm 1cm 1cm; /* Margins: 2.5 cm on each side */
    mso-page-orientation: portrait;  
    mso-header: url(\"mydocument_files/headerfooter.htm\") h1;
    mso-footer: url(\"mydocument_files/headerfooter.htm\") f1;  
}
@page Section1 { }
div.Section1 { page:Section1; }
p.MsoHeader, p.MsoFooter { border: none; }
--></style>
</head>
<body>
<div class=Section1>
 my content
</div>
</body>
</html>

我想要做的是仅在第一页上显示页眉和页脚。 为此,我尝试将visibility:hidden应用于页眉和页脚,以获取不同于此方式的页面:

p.MsoHeader, p.MsoFooter { border: none; visibility: hidden;}
p.MsoHeader :first, p.MsoFooter :first { border: none; visibility: visible;}

但页眉和页脚仍显示在所有页面上...... 知道如何做到这一点吗?

2 个答案:

答案 0 :(得分:2)

试试这个:

*csock

或者,如果这不起作用,如果你在第一次播放时没有调用页眉和页脚,那就更好了,所以只需从你不喜欢的页面中删除这两行。 #39; t希望页眉和页脚出现在:

p.MsoHeader, p.MsoFooter { border: none; display: none;}
p.MsoHeader :first, p.MsoFooter :first { border: none; display: block;}

答案 1 :(得分:1)

在比较单词生成的html时,我错过了一个关键的mso css标签:

mso-first-header: url ...

而不是mso-header

与此同时,属性mso-title-page也必须设置为yes

通过将这两者结合起来,您将获得所需的效果!