我有一個Web應用程序,它利用單獨的print stylesheet來控制頁面從打印機出來時的外觀。直到我最近對該網站做了一些Javascript增強功能之後,這一切才奏效。其中一個增強功能允許用戶凍結頁面標題和導航以及表格標題。這背後的Javascript做了一些CSS技巧來凍結屏幕上的元素。不幸的是,將position: fixed
應用於我的標題(例如)會導致它在每個頁面上打印,而這不是預期的效果。我如何使用Javascript來調整客戶端的元素樣式而不影響打印樣式?使用Javascript更改顯示樣式(CSS)而不影響打印樣式
@media print { #foo { color: blue; } } /* Print definition */
@media screen { #foo { color: green; } } /* Display definition */
document.getElementById('foo').style.color = 'red'; /* Overrides both! */
注意:很多用Javascript改變的樣式甚至都沒有在CSS打印文件中設置。理想情況下,我將有一種方法來改變*只顯示*樣式在Javascript中。必須用'!important'手動覆蓋CSS打印文件中的所有JS調整並不是真正的解決方案。 – 2011-06-13 19:59:26