※handheldなどについては、ブラウザ側の実装は十分ではないく、すべてのデバイスがここのメディアタイプをサポートしているとは限らない。
★メディアタイプを指定するときのデフォルト値はscreenであり、メディアタイプを指定しない場合のデフォルトはallと認識される。
<link rel="stylesheet" type="text/css" media="screen" href="screenstyles.css" />
複数のメディアタイプを割り当てる場合。media属性内の複数値はコンマで区切る。
<link rel="stylesheet" type="text/css" media="screen, print" href="screenstyles.css" />
<style type="text/css">
@import url("screenstyles.css") screen;
@media print {
/* 印刷用スタイルをここに記述 */
}
</style>
複数のメディアタイプを割り当てる場合。
複数のメディアタイプ値を指定することでscreenandprint.cssを画面と印刷の両方に割り当て、その後@mediaルールを使用してスタイルをprintメディアのみに適用する。
<style type="text/css">
@import url("screenandprint.css") screen, print;
@media print {
/* 印刷用スタイルをここに記述 */
}
</style>
★外部スタイルシートを参照するために@importルールを使用する場合は、それと一緒にメディアタイプを追加することができる。
また、@mediaルールにより、特定メディアタイプに固有のルールを選り分けることができる。方法Aと同様に、@mediaルールを使用してはっきりと印刷用にスタイルを割り当てる
★@importおよび@mediaルールは<head>セクションに置くことも、また、外部スタイルシートに配置して、<link>要素で参照することもできる。
<link>要素を使用して、サイト全体のマスタースタイル(styles.css)を参照する。styles.cssのコンテンツは単に外部スタイルシートを取り込む@importルールが1つあるだけであるが、これにより古いブラウザからこのルールを隠す。
ページの<head>内でstyles.cssにリンクさせる。
<link rel="stylesheet" type="text/css" href="/css/styles.css" />
印刷専用の別のスタイルシート(print.css)を作成し、この中に、ページを印刷するときだけに関連するルールを書き込む。
<link rel="stylesheet" type="text/css" href="/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/css/print.css" />
これらの各CSSファイルを対象メディアだけに使用するには、media属性を<link>要素に追加する。
<link rel="stylesheet" type="text/css" media="screen" href="/css/styles.css" />
<link rel="stylesheet" type="text/css" media="print" href="/css/print.css" />
styles.cssファイルにscreenを指定すると、styles.cssに含まれているスタイルをコンピュータ画面にのみ適用できる。同様に、media属性にprint値を指定することで、print.css内に含まれているスタイルをユーザがページを印刷するときにのみ適用できる。
ピクセル単位によるサイズ指定は適切ではない。
フォントサイズにはポイント値を使用する。
また、serifフォントにすると印刷がきれいで、読みやすい。日本語なら、明朝体がふさわしい。
body { font-family: "Times New Roman", serif; font-size: 12pt; }
印刷するには不要なページ要素(ナビゲーションリンク、サイドバー、フォーム、広告など)を非表示にする。
#nav, #sidebar, #advertising, #serch { display: none; }
モノクロ出力向けに色を変えたり、背景を無効化し、インクの節約と読みやすさを提供する。 <body>要素に背景画像やカラーを割り当てていたら、無効化する。 同様に、バックグラウンドを割り当てた要素を無効化する。
body { background: none; }
リンクが設定されたテキストを通常のテキストと区別できるようにする。 白黒で印刷される場合のためにコントラストがはっきりするのが望ましい。
a:link, a:visited { color: blue; text-decoration: underline; }
Mozilla、Safari、Netscape6以降、Mozilla Firefox、Opera6以降で対応。
InternetExplorerは非対応。
印刷時にリンクの設定されたテキストの後ろにリンク先のURLを出力させる。
:after擬似クラスを使用する。サポートしていないブラウザのユーザには、ハイパーリンクしたテキストだけが表示されるので、問題ない。
#content a:link:after, #content a:visited:after { content: " (" attr(href) ") "; }
サイトの#contentセクション内にあるハイパーリンクにおいて、一組の丸括弧の間にURLを配置し、前後に半角スペースを付加してリンク先URLを表示するよう、ページの印刷バージョンに指定。