【问题标题】:@page Css style not working for Mozilla firefox@page Css 样式不适用于 Mozilla firefox
【发布时间】:2012-08-01 07:39:55
【问题描述】:

我的要求是在打印时为所有页面提供10cm的边距

我正在使用window.print() 打印。我的网页会动态增加(因此无法确定页数)。对于所有页面,我需要提供 10 厘米的边距。

我使用了 CSS Media="Print",我在其中定义了样式:

  @page
  {
     Margin-top :10cm; 
  }

这适用于所有浏览器除了Mozilla firefox。我搜索了解决方案,所有博客都说,Mozilla 不支持@page,但没有解决方案。有人可以帮我吗? 请让我知道是否可以在 Mozilla 中实现

【问题讨论】:

  • page 将在所有浏览器中都支持 .. 但在 mozilla 中不支持 .. 我需要为 mozilla 实现 @page 一些方法
  • 请有人告诉我我们真的可以实现吗?
  • 我认为 Firefox 不支持设置页边距样式。我已经做了相当多的谷歌搜索,我读过的所有内容都说他们不支持它。如果有人设法找到答案,我会非常感兴趣。

标签: css asp.net-mvc printing


【解决方案1】:

抱歉,我知道您的问题已经很老了,但它出现在我针对相同问题的谷歌查询中。

根据此链接 (https://developer.mozilla.org/en-US/docs/Web/CSS/@page),Firefox 从 19.0 开始支持它,这是在您的帖子之后,只是为了完整性...

【讨论】:

    【解决方案2】:

    尝试使用 @documentmoz 前缀,例如 Firefox

    @-moz-document

    @-moz-document 规则是 Gecko 特定的 at-rule,它根据文档的 URL 限制其中包含的样式规则。它主要是为用户样式表设计的。 @-moz-document 规则可以指定一个或多个匹配函数。如果任何函数适用于某个 URL,则该规则将对该 URL 生效。

    示例:

    @-moz-document url(http://www.w3.org/),  
               url-prefix(http://www.w3.org/Style/),  
               domain(mozilla.org),  
               regexp("https:.*")  
    {  
      /* CSS rules here apply to: 
         + The page "http://www.w3.org/". 
         + Any page whose URL begins with "http://www.w3.org/Style/" 
         + Any page whose URL's host is "mozilla.org" or ends with ".mozilla.org" 
         + Any page whose URL starts with "https:" */  
    
      /* make the above-mentioned pages really ugly */  
    
         @media print{
             body { margin-top :10cm; }
         }       
    }  
    

    可用功能:

    • url(),匹配一个精确的 URL
    • url-prefix(),如果文档 URL 以提供的值开头,则匹配
    • domain(),如果文档 URL 位于提供的域(或其子域)上,则匹配
    • regexp(),如果文档 URL 与提供的正则表达式匹配,则匹配。表达式必须与整个 URL 匹配。

    【讨论】:

    • 感谢 AK 的回复。你能解释一下为什么我们使用 url(w3.org), url-prefix(w3.org/Style) 我应该用别的东西来代替吗?
    • 有人可以帮我解决这个问题吗?
    • 这个at-rule可以用来将CSS仅应用于Firefox,但我认为这并不能直接解决手头的问题,只需为body元素添加10cm的边距。 Firefox 会尊重该边距,但它也会在正文顶部,在正文和页面边缘之间添加一个额外的边距。 Mozilla 目前不支持使用 CSS 设置页边距的方法。
    • @cypress for firstpage 我也可以在 Firefox 中轻松添加边距。但由于我的网页可以有动态数据.. 打印页数超过 2 或 3 页.. 对于所有 3 页我需要提供相同的边距
    猜你喜欢
    • 2012-12-12
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-09
    • 2019-12-28
    • 2015-11-18
    • 1970-01-01
    相关资源
    最近更新 更多