0

我需要在 IE8、IE9 和 Chrome 中打印页面。它在 Chrome 中完美打印,在 IE8 中效果不佳(尚未测试 IE9)。

我现在使用 IE 面临的 3 个主要问题是:

  1. 复选框和单选按钮宽度搞砸了,它有一个边框
  2. 整个表单的额外填充,尤其是标签和字段之间
  3. 内部表格边框不显示,第一列应隐藏

请参阅下面的屏幕截图。为什么会这样?我似乎无法修复它,我已经尝试过多次更改 css。我知道它正在阅读 CSS。

复选框: 复选框宽度搞砸了,它有一个边框

到处都有额外的填充:

整个表单的额外填充

没有内部表格边框: 内部表格边框不显示 + 第一列应隐藏

更新:

表单在 Chrome 和 IE 中都能正确显示(显示表格边框、填充正确等)。它在 Chrome 中正确打印。它不能在 IE 中正确打印。

请不要告诉我以其他方式打印表格。我已经做出了从浏览器打印它的设计决定:这对我的项目来说是最好的。

4

2 回答 2

0

1:你可能有类似的东西

input {border: ...; width: ...}

这会影响您的复选框和收音机。至少在 Internet Explorer 中。您可以通过使用来解决此问题

input[type=radio], input[type=checkbox] {alternating styles}

或通过分配特定的类:

input.radio, input.checkbox {alternating styles}

2:您可以通过同时提供输入表单和旁边的标签来消除填充

text-align: vertical

3:要解决边框,您应该为此提供 CSS ;)

于 2013-04-04T21:02:08.830 回答
0

我在页面中添加了一个带有边框的简单表格,以测试 IE 是否不显示表格边框,或者我的 css 是否被覆盖。当它起作用时,我意识到我的表被它的 ID 选择在其他地方(并删除了它的边框)。当我尝试添加用于打印的边框时,我选择的是表的类名而不是 ID。

我还意识到 jquery.jqprint 插件不包括它正在打印的 iframe 中的 doctype。现在,它在 IE8 中完美打印。

于 2013-04-04T22:04:56.843 回答