JavaServerPage においてCSSのmedia=print が働かない現象について

JSPにて表示するウェブページのスタイルシートを別途プリント用のスタイルシートを用意して適用させてみようとテストしたところ,表示されないという現象があった。下記のような感じで記述をしてみたのだが,どうやっても表示されなかった。

<link rel="STYLESHEET" type="text/css" media="screen" href="./css/style.css" title="標準" />
<link rel="STYLESHEET" type="text/css" media="print" href="./css/print.css" title="プリント" />

パスは間違ってはいない。記述の方法も間違ってはいない。一般的な静的ページで印刷プレビューをしてみたらこれで意図通り表示される。しかし,JSPに限っては表示されなかった。

原因はわからないが,とりあえず次のような方法で解決をすることにした。

  1. メディアタイプをallにして一つのスタイルシートのみを適用する
  2. その適用したスタイルシート内でメディアタイプを振り分ける

これならばJSPでも意図通り表示することができた。具体的には下記のような感じ

ヘッダの記述
<link rel="STYLESHEET" type="text/css" media="all" href="./css/style.css" title="標準" />
style.cssの記述
@media screen,tv,projection {

----stylesheetの記述----

}

@media print{

----stylesheetの記述----

}

コメントを残す

メールアドレスが公開されることはありません。