2013-05-29 83 views
0

目前我已創建2 CSS文件(風景,人像),以簡化:它們之間的主要區別是:更改打印樣式使用jQuery

print.css

@page { 
    size: landscape; 
} 

print_single.css

@page { 
    size: portrait; 
} 

HTML文件,它引用CSS第一個

<link rel="stylesheet" id ="printCSS" href="css/print.css" type="text/css" media="print" /> 

那麼是否要打印單頁,使用jQuery更改CSS文件的路徑,否則,將打印在景觀:

$(doc).ready(function(){ 
     $('#singlePrint').click(function(){ 
     $('#printCSS').attr('href','css/print_single.css'); 
    });  
}); 

的問題是,它似乎只工作在Chrome中,我試過它在Firefox上,即,CSS文件路徑被改變,但CSS文件不重新加載,如何解決這個問題?謝謝。

+1

並非所有的@page屬性都被所有瀏覽器支持。 https://developer.mozilla.org/en-US/docs/Web/CSS/@page – jeff

+0

謝謝。但我嘗試了IE8和FX。最新版本應該支持嗎? – user1871516

回答

3

@page {size:landscape;}在firefox中不支持。另一種方法是在CSS類中使用這個

-webkit-transform: rotate(-90deg); -moz-transform:rotate(-90deg); 
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3); 
+0

謝謝。你介意提供肖像版嗎? – user1871516

+0

此外,它是由身體'報價'?例如body {-webkit-transform:.....},謝謝 – user1871516

+0

.body或.page。兩者都會好起來的。 –