2010-05-03 63 views
3

如何声明DIV应显示在每页的左上角而不是其相对位置。如何在@page @左上角声明div

我有这样一个div:

<div id=header>Document</div> 

,我想使用CSS像在左上角,以显示它的每一页上:

@page { 
    size: 8.5in 11in; 
    margin: 0.25in; 
    border: thin solid black; 
    padding: 1em; 


    @top-left { 
     content: ???? ; 
     } 
} 

谢谢。

回答

0

#header { 
    position: fixed; 
    top: 0; 
    left: 0; 
} 

工作?见Printing Headers。另外,请查看position: fixed的W3C规范。

编辑:如果我读了CSS用CSS 2.1规范有关content财产有关Margin Boxes不够好,在一起3个规格,我不认为你可以从嵌入您的网页<div>成保证金的内容盒子,唉。

+0

没有,而这将放在左上角头,这将是网页内容区域,而不是一个页边距框内。对不起,我应该指定这是用于印刷媒体..见http://www.w3.org/TR/css3-page/#page-box-page-rule – olegtim 2010-05-03 21:11:43

+0

@ icon911:不,我的错,我没有没有足够好地阅读你的问题(并没有查看@ @左上角的规则,在你链接到CSS3规范之前我不知道) – 2010-05-03 22:48:32

4

我意识到这个问题是有点老了,但对于像我这样的人谁到这里来寻找一种方式来做到这一点,它使用CSS3行驶元件是可能的:http://www.w3.org/TR/2007/WD-css3-gcpm-20070504/#running1

在这个例子中,除了打印以外,所有媒体类型中的标题都隐藏起来。在打印的页面上,标题显示在所有页面的顶部中心,除了显示h1元素的位置。

<style> 
    div.header { display: none } 
    @media print { 
    div.header { 
    display: block; 
    position: running(header); 
    } 
    @page { @top-center { content: element(header, last-except) }} 
</style> 
... 
<div class="header">Introduction</div> 

<h1 class="chapter">An introduction</div> 
+0

它在webkit浏览器中不起作用....是任何其他解决方案实现相同的 – 2013-07-25 07:04:19

+0

不是我所知道的,对不起(对于延迟的回复!) – YetAnotherMatt 2013-10-05 09:32:09

+1

是否有支持此功能的浏览器?据我所知,这仍然在绘图桌上。 – 2014-04-08 20:43:41