【问题标题】:Chrome issue overriding inline styles when printing打印时 Chrome 问题覆盖内联样式
【发布时间】:2015-02-03 06:21:37
【问题描述】:

我有一个必须通过 javascript 应用的内联样式,我需要在打印时将其删除。我已经应用 div[style] 和 !important 来覆盖,这在我测试过的其他浏览器中完美运行,但在 Chrome(版本 40.0.2214.91)中不起作用。有没有人遇到过这个问题或遇到过解决方案?

内联样式

<div class="main" style="margin-top: 627px;">
 ....
</div>

打印 CSS

@media print {
  .main[style] {
      margin-top: 0!important;
   }
}

【问题讨论】:

  • 能否发一些代码,解决问题会更有帮助
  • 当然,我已经在代码中添加了,在我的正常样式中没有应用边距顶部,它只应用在标签上。这够了吗?
  • 打印 css 应用,在我的 chrome 浏览器 'Version 39.0.2171.95 dev-m' 中可以正常工作,您正在尝试哪个版本?
  • 这是版本 40.0.2214.91
  • @Sephorra .main[style] { margin-top: 0!important; -webkit-margin-before: 0px !important;}

标签: css google-chrome printing inline


【解决方案1】:

Chrome 版本 44.0.2403.125 m 也有同样的问题。

在我的例子中,它是一种类似手风琴的功能,它依赖于 JS 在元素上设置内联负边距。我想在打印时自动显示以前隐藏的内容。

虽然技术上不是解决问题的好方法,但设置 display:inline; 有效,因为内联不允许任何边距。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    相关资源
    最近更新 更多