【问题标题】:IE11 Ignoring @page rule?IE11 忽略@page 规则?
【发布时间】:2016-01-15 02:32:25
【问题描述】:

我正在尝试在我正在打印的页面上设置页边距。在 chrome 中,它看起来很棒。 IE没那么多。我正在尝试像这样设置边距:

@media print {
    @page {
        margin: -0.5cm;
        margin-left: -1.5cm;
        margin-right: -1.5cm;
    }
}

我在头中引用了这样的 css 文件:

<link rel="stylesheet" href="Content/print.css" type="text/css" media="print">

我可以通过调整边距值在 chrome 中很好地调整边距,但在 IE11 中,它似乎完全忽略了这一点......

我做错了什么?

【问题讨论】:

    标签: debugging cross-browser internet-explorer-11 css-paged-media


    【解决方案1】:

    @page 选择器不需要嵌套,因为假定为 page context

    @page 规则中的声明被称为在页面上下文中。

    负边距是user-agent 特定的:

    由于负边距值(在页面框或元素上)或绝对定位内容可能最终会出现在页面框之外,但此内容可能会被“剪切”——由用户代理、打印机或最终,切纸机。

    此外,CSS grammar 没有定义嵌套 at 规则的行为。

    作品有: 样式表 : [ CHARSET_SYM 字符串 ';' ]? [S|CDO|CDC]* [ 导入 [ CDO S* |疾病预防控制中心* ]* ]* [ [ 规则集 |媒体 |页] [ CDO S* |疾病预防控制中心* ]* ]* ; 进口 : IMPORT_SYM S* [STRING|URI] S* 媒体列表? ';'小号* ; 媒体 : MEDIA_SYM S* media_list '{' S* 规则集* '}' S* ; 媒体列表 : 中 [ 逗号 S* 中]* ; 中等的 : IDENT S* ; 页 : PAGE_SYM S* 伪页面? '{' S* 声明? [';' S* 声明? ]* '}' S* ; 伪页面 : ':' IDENT S* ; 操作员 : '/' S* | ',' S* ; 组合子 : '+' S* | '>' S* ; 一元运算符 : '-' | '+' ; 财产 : IDENT S* ; 规则集 : 选择器 [ ',' S* 选择器 ]* '{' S* 声明? [';' S* 声明? ]* '}' S* ; 选择器 : simple_selector [组合选择器| S+ [ 组合子?选择器]? ]? ; 简单选择器 :元素名称[哈希|班级 |属性 |伪]* | [哈希|班级 |属性 |伪]+ ; 班级 :'。'标识 ; 元素名称 : 标识 | '*' ; 属性 : '[' S* IDENT S* [ [ '=' |包括 | DASHMATCH ] S* [ 标识 |字符串] S* ]? ']' ; 伪 :':'[标识|函数 S* [标识 S*]? ')'] ; 宣言 : 属性 ':' S* expr prio? ; 优先 : IMPORTANT_SYM S* ; 表达式 : 术语 [ 运算符?学期 ]* ; 学期 : 一元运算符? [ 数字 S* |百分比 S* |长度 S* |特快专递* | EXS S* |角度 S* | 时间 S* |频率 S* ] |字符串 S* |标识 S* | URI S* |六角色 |功能 ; 功能 : 函数 S* expr ')' S* ; /* * 它必须对颜色有一个限制 * 有 3 或 6 个十六进制数字(即 [0-9a-fA-F]) * 之后 ”#”;例如,“#000”是可以的,但“#abcd”不是。 */ 十六进制颜色 : 哈希 S* ;

    【讨论】:

      猜你喜欢
      • 2016-02-03
      • 2020-10-27
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-15
      • 2014-02-10
      相关资源
      最近更新 更多