2013-04-04 36 views
0

我需要在IE8,IE9和Chrome中打印頁面。它在Chrome中完美打印,在IE8中沒有那麼好(尚未測試IE9)。打印時如何解決IE表格,收音機和複選框的怪癖?

我面臨着IE的3個主要問題,現在是:

  1. 複選框,單選按鈕寬度搞砸了,它有一個邊界
  2. 額外填充整個形式,尤其是標籤之間現場
  3. 內部表格邊框顯示不出來,和第一列應該隱藏

請參見下面的屏幕截圖。這是爲什麼發生?我似乎無法修復它,我試過多次改變CSS。我知道它正在閱讀CSS。

複選框: Checkbox width is messed up and it has a border

額外填充無處不在:

Extra padding throughout the form

無內部表格邊框: Internal table borders do not show up + first column should be hidden

更新:

在Chrome和IE中,表格都正確顯示(表格邊框顯示,填充正確等)。它在Chrome中正確打印。它在IE中無法正確打印。

請不要讓我以其他方式打印表格。我做了一個設計決定,從瀏覽器打印它:這對我的項目是最好的。

+0

當您需要漂亮的打印輸出時,請在服務器上將其生成爲PDF格式,並讓用戶自行下載並打印。打印從未成爲瀏覽器開發的重中之重。 – 2013-04-04 20:57:51

回答

0

我添加了一個SIMP帶有邊框的表格來測試IE是否不顯示錶格邊框,或者如果我的CSS是如何重寫。當它工作的時候,我意識到我的桌子正在被別的ID選中(並且它的邊框被移除了)。當我試圖添加邊界進行打印時,我是通過它的類名稱而不是ID來選擇表格。

我也意識到jquery.jqprint插件沒有在它打印的iframe中包含doctype。現在,它在IE8中完美打印。

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;)

+0

我已經爲收音機和複選框分開了樣式。我已經嘗試將寬度設置爲13px(大小在窗體上)並將邊框設置爲無。也許我對填充不清楚,標籤和輸入之間應該有更小的空間。這對我來說不是一個對齊問題。 – Lifes 2013-04-04 21:13:16

+0

mmh,是的,那麼,你應該讓一個jsFiddle然後:)有些東西看到現場。 – hurrtz 2013-04-04 21:20:15

相關問題