4

我正在尝试在我正在打印的页面上设置边距。在 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 中,它似乎完全忽略了这一点......

我究竟做错了什么?

4

1 回答 1

2

@page 选择器不需要嵌套,因为假定了页面上下文:

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

负边距是特定于用户代理的

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

此外,CSS 语法没有定义嵌套 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*
  ;
于 2014-02-04T20:05:12.340 回答