- ベストアンサー
固定CSSと標準CSSで印刷画面がずれる!なぜ?
- 固定CSSと標準CSSでスタイルシートを分けてみましたが、印刷プレビューでヘッダーの改行やサイドバーの表示がおかしくなりました。
- 今まで一つのスタイルシートを使用していた時は、閲覧用と印刷プレビューが同じ表示でした。
- 固定スタイルシートと優先スタイルシートに分けても、閲覧用の表示は正常なのに、印刷プレビューだけがずれてしまう原因は何でしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
各ページで共通な部分は固定スタイルシートに記述し、それぞれのページに優先スタイルシートを使用するという方法。もちろんそのような使い方も出来ます。 ただ、印刷用はcsreenと分けたほうが良いです。なぜなら、様々な面でscreenとprintは異なるからです。 media=printでは、 ・fixedされたものは各ページに印刷される。 ・サイズはpxをmmなりのサイズに換算される。 など・・ もし固定スタイルシートを置き、それをすべてのmediaに対して利用するのでしたら、それにはフォントなどごく限定されたものになるでしょう。それでも、フォントはmedia=auralやmedia=ttyには無効ですが(^^) そこであくまで、media=screeについてのみ、永続的(固定)スタイルシートを設定します。mediaのみ指定してtitleをつけないスタイルシートになります。 1) すべてのmediaに対して固定スタイルシートで基本的なものを指定する。 font-family h1,h2,h3,h4,h5,h6,p,dd,li{margin:0;line-height:1.6em;text-indent:1em;} dt{font-weight:bold;} blockquote{margin:0.5em;2emborder;dotted gray 1px;} とか・・。borderは視覚系メディアに対する指定なのでauralなどには無効ですが・・ 2) media=screenに対して基本的な指定--サイト全体で統一したいもの-titleはつけない preの扱い div.header内のh1とか 色調とかフォントサイズも決めても良いでしょう。 ・・・必要なら標準スタイルシートや代替スタイルシートで上書きする。 3) 標準スタイルシートでデフォルトのスタイルシートを決める。titleを書くこと ここで書かれた内容は代替スタイルシートを選択すると無効になります。 複数の標準スタイルシートを用意して、ページごとに別のものを利用しても良いでしょう。たとえばカテゴリートップではtopPage.cssを、細目ページではcontent.cssとか。 4) 代替スタイルシートを適用したときに適用されるものは、titleのないスタイルシートです。 このとき、外部スタイルシートに同じtitleで指定されるスタイルシートがあっても構いません。 ・配置などを指定するスタイルシート ・色のみ指定するスタイルシート ・headerやfooterを指定するスタイルシート に分けるのも良いでしょう。 ★代替スタイルシートを使わないなら、titleを記述しない固定スタイルシートだけで良いです。 ★もっとも大事なことはHTMLの文書構造が同じであること。 詳しい使い分けは、 14 スタイルシート ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html ) のページをしっかり読んで見ましょう。 CSS3ではさらにmediaQueryが追加されますから、その基本としても理解しておく必要があるでしょう。
お礼
ありがとうございます。 やはり、覚えることが多くて大変です。 チョクチョク参考URLも読んで、覚えて行きます!!