css打印模式:只在生成的word文档的第一页显示页眉和页脚
css print mode: display header and footer only on first page of a generated word doc
我使用 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;}
但是页眉和页脚仍然显示在所有页面上...
知道怎么做吗?
在比较生成的单词 html 时,我错过了一个关键的 mso css 标记:
mso-first-header: url ...
而不是 mso-header
。
与此同时,属性 mso-title-page
也必须设置为 yes
。
将这两者结合起来,你会得到想要的效果!
试试这个:
p.MsoHeader, p.MsoFooter { border: none; display: none;}
p.MsoHeader :first, p.MsoFooter :first { border: none; display: block;}
或者,如果这样不行,最好不要在第一次播放时调用页眉和页脚,所以只需从不需要页眉和页脚的页面中删除这两行页脚出现在:
mso-header: url(\"mydocument_files/headerfooter.htm\") h1;
mso-footer: url(\"mydocument_files/headerfooter.htm\") f1;
我使用 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;}
但是页眉和页脚仍然显示在所有页面上... 知道怎么做吗?
在比较生成的单词 html 时,我错过了一个关键的 mso css 标记:
mso-first-header: url ...
而不是 mso-header
。
与此同时,属性 mso-title-page
也必须设置为 yes
。
将这两者结合起来,你会得到想要的效果!
试试这个:
p.MsoHeader, p.MsoFooter { border: none; display: none;}
p.MsoHeader :first, p.MsoFooter :first { border: none; display: block;}
或者,如果这样不行,最好不要在第一次播放时调用页眉和页脚,所以只需从不需要页眉和页脚的页面中删除这两行页脚出现在:
mso-header: url(\"mydocument_files/headerfooter.htm\") h1;
mso-footer: url(\"mydocument_files/headerfooter.htm\") f1;