この文書は、W3C の草案 (Working Draft)、"CSS Print Profile" (2006 年 10 月 13 日付) を独自に翻訳したものです。この仕様書の正式なものは W3C のサイトにある英語版であり、その著作権は W3C が保有しています。また、翻訳に誤りがある可能性に留意してください。参照の際は原文と対比することを推奨します。
なお、この文書の翻訳にあたり、JIS 標準情報 (TR) の「段階スタイルシート 水準2(CSS2)」を参考にしました。いくつかの個所では、引用も行っていますが、技術的内容を変えない範囲で記号や用語、言い回しを変更しています。
翻訳の最終更新日: 2006 年 11 月 6 日
Copyright © 2006 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
この仕様は、低価格デバイスへの印刷向けの、Cascading Style Sheets Level 2, revision 1 [CSS21] と CSS3 Module: Paged Media [PAGEMEDIA] のサブセットを定義するものです。プリンタ専用のドライバをインストールできない、あるいはインストールが望ましくないような状況での印刷や、出力に対する可変性が許容されるような状況向けに設計されています。
このプロファイルは、XHTML-Print [XHTMLPRINT] と関連して用いられるように設計されています。また最低限の準拠基準と共に、文字と画像、表と画像のcollectionの印刷時に強力なレイアウトの制御が出来るような、拡張仕様も定義しています。
このセクションは、公開時点でのこの文書の位置付けについて述べたものです。他の文書がこの文書を置き換えることがあります。W3C が現在公開している勧告その他の技術文書の最新のものの一覧は、http://www.w3.org/TR/ の W3C 技術レポート索引にあります。
草案としての公開は、W3C メンバーシップによる保証が含まれているとは意味しません。これは草案の文書であり、いつでも他の文書により更新、置換、破棄される可能性があります。この文書を「未完成品」以外のものとして引用したりするのは不適切です。
この仕様に関する議論は、公開メーリングリストwww-style (アーカイブ) でするのが望ましいとされています (手続き参照)。電子メールを送信する際には、題名に “css-print” をつけて、次のようにすることが望ましいとされます: “[css-print] …コメントの概要…”
この文書は、CSS ワーキンググループ (スタイルアクティビティの一環) より作成されました。
2004 年 2 月 5 日付けの W3C 特許ポリシーに基づいて作成されました。W3C はグループで提出された、公開特許情報一覧 を整備します。また、そのページは特許の公開方法についても述べられています。権利主張 (Essential Claims) が含まれていると確信している、特許に関する実際の知識を有している個人は、W3C 特許ポリシー第 6 節に基づき情報を公開せねばなりません。
この文書は CSS Print Profile W3C 最終草案 の 2006 年 10 月 16 日版です。最終草案 (Last Call) 期間は 2006 年 11 月 20 日までとなります。
前の勧告候補と比べて、このバージョンには 2 つの新機能 ('fit' と 'fit-position') が加わり、XHTML-Print の変更を反映し、CSS3 Module: Paged Media との間での冗長な部分を削除し、その他明確化、編集の改良が施されています。
この文書では参考と注釈されていない節すべてが規定とされます。
この文書は、Cascading Style Sheets, level 2, revision 1 (CSS 2.1) 仕様 [CSS21] に CSS3 Module: Paged Media [PAGEMEDIA] を加えたもののプロファイルを規定するものです。
CSS 2.1 では、複数の機器やメディアタイプで文書を表示できるスタイルシートを開発者が制作する方法を規定しています。これは非常に重要なことですが、それぞれの機器でどの機能がサポートされるかについて作成者 (author) が知ることも重要です。また、同じような機器は同じような方法で処理を行うことも重要です。さもないと、作成者は機器ごとに専用バージョンのスタイルシートを開発しなければならなくなっていたでしょう。その結果、コンテンツ開発のコストは上昇し、相互運用性が減少することになります。
CSS Print Profile は、プリンタ専用のドライバをインストールできない、あるいはインストールが望ましくないような環境での印刷のための、適合条件プロファイルを規定します。そのような環境の例としては、携帯電話からの低価格プリンタでの印刷のようなものが挙げられます。プロファイルはこのような場面で用いることができるような、プロパティ、値、セレクタ、カスケーディング規則の最小限のセットを決めています。このプロファイルは、ページ全体を保持するバッファを持たないかもしれない、大体上から下へと印刷するような、低価格プリンタ向けに、XHTML-Print [XHTMLPRINT] と関連して用いられるように設計されています。
このプロファイルにはまた、より厳格なページレイアウトや適応に対応した、高度なレイアウト拡張セットも含まれています。これらは、デジタルスチルカメラの画像のアルバムページや、印刷対応のテレビジョンのコンテンツのようなものが印刷できるよう、充分豊富な機能を提供します。
プロファイルへ適合するというのは、ユーザエージェントが 少なくともこの仕様で定義された機能をサポートしていることを表します。この点については、この後の 2 節、適合条件で説明しています。
本文書中の、「しなければならない (MUST) 」、「してはならない(MUST NOT) 」、「要求される、必須 (REQUIRED) 」、「望ましい (SHALL)」、「望ましくない (SHALL NOT) 」、「すべきである (SHOULD) 」、「推奨される (RECOMMENDED) 」、「しても良い (MAY) 」、および「任意 (OPTIONAL) 」と言ったキーワードは、 RFC 2119 ([RFC2119] 参照) で述べられているとおりに解釈されることとなっています。しかしながら、読みやすさのために、この仕様ではこれらの語は大文字で表記していません。訳註:本文書では大文字表記にしています。
プロファイルというものの主な役割は、機能群のサブセットを定義し、相互運用性について最小限の保証を行うことです。 CSS Print Profile の場合、ここでいう保証にあたるのは、適合するユーザエージェントが、CSS 2.1 の適合条件 ([CSS21] の 3.2 節) に従ってこの仕様で定義され、改められ、下記に要約された機能をサポートするということです。
CSS 2.1 同様、この適合条件には付則があります。
作成者は、この適合条件プロファイルを使って前方互換性を活用することが推奨されます (RECOMMENDED)。作成者は、カスケーディング規則が正しく処理されることや、未知のプロパティや値は無視されることを理解した上でスタイルプロパティを使うことができる (MAY) はずです。例を示します。
body { background-position: center center; background-position: 45% 55%; }
background-position プロパティでパーセント値を処理できるプリンタは、最初の background-position 指定を処理した後、2 つめの background-position 指定の値を上書きします。パーセント値を処理できないプリンタは、最初の background-position 指定を処理し、2 つめの background-position 指定は無視します。
最低限の適合条件を満たすプリンタより、より厳格なページレイアウトを必要とする印刷アプリケーションもあります (例えば、画像のアルバムページとか、デジタルテレビからのページ)。高度なレイアウト拡張 (Enhanced Layout Extension) には、適合条件を満たすプリンタがサポートしなければならない (MUST) のよりも多くのプロパティが、そしてその結果としてメモリと性能能力の要件も増強されます。追加された CSS 構造物には、下表のPrint-Enhanced 欄に、「必須 (MUST)」記されていたり、値の範囲が広がっています。
高度なレイアウト拡張をサポートするプリンタは更に、任意 (OPTIONAL) に、(この文書の範囲外の手段を経て) 見つけることができた、高度なレイアウト拡張と記されているものをサポートしても構いません (MAY)。
CSS 2.1 では、文書ツリー内の要素に適用されるスタイル規則を、パターンマッチ規則で決定します [CSS21]。
要素ごとにすべての属性を保存することができず、必要とされるいくつかのみを保持するような、低価格プリンタもあるかもしれないことを考慮しています。しかしながら、高度なレイアウト拡張に適合するプリンタは、属性セレクタをサポートする必要があります (MUST)。
次の表は、CSS Print Profile でのセレクタの構文をまとめたものです。 CSS Mobile Profile では、CSS Print 欄、CSS Print-Enhanced 欄に「MUST」と記されたセレクタに加えて、 CSS Print Profile には CSS 2.1 のグループ化機構 ([CSS21] 5.2.1 節を参照) も含まれます。
パターン | 意味 | セレクタの種類 | CSS Print | CSS Print-Enhanced |
---|---|---|---|---|
* | あらゆる要素と一致する | 汎用セレクタ | 必須 (MUST) | 必須 (MUST) |
E | あらゆる E 要素 (すなわち、型 E の要素) と一致する | 型セレクタ | 必須 (MUST) | 必須 (MUST) |
E F | あらゆる F 要素のうち、E 要素の子孫であるものと一致する | 子孫セレクタ | 必須 (MUST) | 必須 (MUST) |
E > F | あらゆる F 要素のうち、要素 E の子であるものと一致する | 子セレクタ | 必須 (MUST) | 必須 (MUST) |
E[foo] | あらゆる E 要素のうち、"foo" 属性が設定されているもの (値は問わない) と一致する。 | 属性セレクタ | 許容 (MAY) | 必須 (MUST) |
E[foo="warning"] | あらゆる E 要素のうち、"foo" 属性の値が "warning" とちょうど等しいものと一致する。 | 属性セレクタ | 許容 (MAY) | 必須 (MUST) |
E[foo~="warning"] | あらゆる E 要素のうち、"foo" 属性の値がスペースで区切った値のリストで、その値のひとつが "warning" とちょうど等しいものと一致する。 | 属性セレクタ | 許容 (MAY) | 必須 (MUST) |
E.classid | div[class~="classid"] と同じ | クラスセレクタ | 必須 (MUST) | 必須 (MUST) |
E#myid | あらゆる E 要素のうち、ID が "myid" に等しいものと一致する。 | ID セレクタ | 必須 (MUST) | 必須 (MUST) |
@page :first | 文書の最初のページのスタイルを指定する | ページの擬似クラス | 必須 (MUST) | 必須 (MUST) |
次の表は、CSS Print Profile の @ 規則の文法をまとめたものです。
@ 規則 | 機能 | CSS Print | CSS Print-Enhanced |
---|---|---|---|
@import | 外部スタイルシートをインポートする。 | 許容 (MAY) | 必須 (MUST) |
@charset | スタイルシートの文字符号化の名前を指定する。 | 必須 (MUST) | 必須 (MUST) |
@media | 1 あるいは複数の特定メディアに適用されるスタイル規則の集合のグループ化を行う。 | 必須 (MUST) | 必須 (MUST) |
@page | (名前を付けることも可能な) ページボックスを指定する。 | 必須 (MUST) | 必須 (MUST) |
@bottom-left-corner, @bottom-left, @bottom-center, @bottom-right, @bottom-right-corner |
ページの下マージンの、フッタを配置する領域を指定する [PAGEMEDIA] | 必須 (MUST) | 必須 (MUST) |
@top-left-corner, @top-left, @top-center, @top-right, @top-right-corner |
ページの上マージンの、ヘッダを配置する領域を指定する [PAGEMEDIA] | 必須 (MUST) | 必須 (MUST) |
セレクタと同じように、プリンタがサポートすべき (MUST) プロパティは、モバイル機器がサポートすべき (MUST) プロパティに似ています ([CSSMOBILE], プロパティ、プロパティ [訳])。例外は、ページには適用できないもの、明確にページ以外のメディアを対象とするもの以外のとなります。
一部の値のみを、プリンタに許容する値としている場合があります。これは低価格プリンタのメモリと性能能力の要件に該当させるためです。
次の表は、CSS Print Profile のプロパティとプロパティ値をまとめたものです。image-orientation、fit、fit-position、size プロパティについては CSS3 Module: Paged Media [PAGEMEDIA] を、その他のプロパティや値の定義については [CSS21] を参照してください。
Name | CSS Print | CSS Print-Enhanced | CSS 値 | 初期値 |
---|---|---|---|---|
'background' | background-color | inherit | ['background-color' || 'background-image' || 'background-repeat' || 'background-position'] | inherit | ['background-color' || 'background-image' || 'background-repeat' || 'background-attachment' || 'background-position'] | inherit | 個々のプロパティを参照 |
'background-color' | 必須 (MUST) | 必須 (MUST) | <color> | transparent | inherit | transparent |
'background-image' | 許容 (MAY) | 必須 (MUST) | <uri> | none | inherit | none |
'background-position' | 許容 (MAY) | 必須 (MUST) | [ [ <percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit | 0% 0% |
'background-repeat' | 許容 (MAY) | 必須 (MUST) | repeat | repeat-x | repeat-y | no-repeat | inherit | repeat |
'border' | 許容 (MAY) | 必須 (MUST) | [ <border-width> || <border-style> || [<color> | transparent] ] | inherit | 個々のプロパティを参照 |
'border-collapse' | 許容 (MAY) | 必須 (MUST) | collapse | separate | inherit | collapse |
'border-color' | 許容 (MAY) | 必須 (MUST) | [<color> | transparent]{1,4} | inherit | 個々のプロパティを参照 |
'border-spacing' | 許容 (MAY) | 必須 (MUST) | <length> <length>? | inherit | 0 |
'border-style' | 許容 (MAY) | none, solid | <border-style>{1,4} | inherit | 個々のプロパティを参照 |
'border-top' 'border-right' 'border-bottom' 'border-left' | 許容 (MAY) | 必須 (MUST) | [ <border-width> || <border-style> || [<color> | transparent] ] | inherit | 個々のプロパティを参照 |
'border-top-color' 'border-right-color' 'border-bottom-color' 'border-left-color' | 許容 (MAY) | 必須 (MUST) | <border-color> | transparent | inherit | 'color' プロパティの値 |
'border-top-style' 'border-right-style' 'border-bottom-style' 'border-left-style' | 許容 (MAY) | none, solid | <border-style> | inherit | none |
'border-top-width' 'border-right-width' 'border-bottom-width' 'border-left-width' | 許容 (MAY) | 必須 (MUST) | <border-width> | inherit | medium |
'border-width' | 許容 (MAY) | 必須 (MUST) | <border-width>{1,4} | inherit | 個々のプロパティを参照 |
'bottom' | 許容 (MAY) | 必須 (MUST) | <length> | <percentage> | auto | inherit | auto |
'caption-side' | 許容 (MAY) | 必須 (MUST) | top | bottom | left | right | inherit | top |
'clear' | 許容 (MAY) | 必須 (MUST) | none | left | right | both | inherit | none |
'clip' | 許容 (MAY) | 必須 (MUST) | <shape> | auto | inherit | auto |
'color' | 必須 (MUST) | 必須 (MUST) | <color> | inherit | ユーザエージェントによる |
'content' | inherit | [<string> | counter(pages†)]+ | inherit | [<string> | counter(pages†)]+ | [ <string> | <uri> | <counter> | attr(X) | open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit | 空文字列 |
'counter-increment' | "pages"† | "pages"† | [ <identifier> <integer> ]+ | none | inherit | none |
'counter-reset' | 必須 (MUST) | 必須 (MUST) | [ <identifier> <integer>? ]+ | none | inherit | none |
'display' | 許容 (MAY) | inline | block | list-item | none |inherit | inline | block | list-item | run-in | compact | marker | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit | inline |
'fit' | 許容 (MAY) | 必須 (MUST) | fill | hidden | meet | slice | fill |
'fit-position' | 許容 (MAY) | 必須 (MUST) | [ [<percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | auto | 0% 0% |
'float' | 許容 (MAY) | 必須 (MUST) | left | right | none | inherit | none |
'font' | [ [ 'font-style' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family' ] | inherit | [ [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family' ] | inherit | [ [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family' ] | caption | icon | menu | message-box | small-caption | status-bar | inherit | 個々のプロパティを参照 |
'font-family' | 必須 (MUST)* | 必須 (MUST)* | [[ <family-name> | <generic-family> ],]* [ <family-name> | <generic-family> ] | inherit | ユーザエージェントによる |
'font-size' | 必須 (MUST) ** | 必須 (MUST) ** | <absolute-size> | <relative-size> | <length> | <percentage> | inherit | medium |
'font-style' | 必須 (MUST)** | 必須 (MUST) ** | normal | italic | oblique | inherit | normal |
'font-variant' | 許容 (MAY) | 必須 (MUST) | normal | small-caps | inherit | normal |
'font-weight' | 必須 (MUST) ** | 必須 (MUST) ** | normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit | normal |
'height' | 必須 (MUST) | 必須 (MUST) | <length> | <percentage> | auto | inherit | auto |
'image-orientation' | 許容 (MAY) | 必須 (MUST) | <angle> | auto | auto |
'left' | 許容 (MAY) | 必須 (MUST) | <length> | <percentage> | auto | inherit | auto |
'letter-spacing' | 許容 (MAY) | 必須 (MUST) | normal | <length> | inherit | normal |
'line-height' | 必須 (MUST) | 必須 (MUST) | normal | <number> | <length> | <percentage> | inherit | normal |
'list-style' | 許容 (MAY) | 必須 (MUST) | [ 'list-style-type' || 'list-style-position' || 'list-style-image' ] | inherit | 個々のプロパティを参照 |
'list-style-image' | 許容 (MAY) | 必須 (MUST) | <uri> | none | inherit | none |
'list-style-position' | 必須 (MUST) | 必須 (MUST) | inside | outside | inherit | outside |
'list-style-type' | disc, decimal, lower-alpha, upper-alpha, none, inherit | disc, decimal, lower-alpha, upper-alpha, none, inherit | disc | circle | square | decimal | decimal-leading-zero | lower-roman | upper-roman | lower-greek | lower-alpha | lower-latin | upper-alpha | upper-latin | hebrew | armenian | georgian | cjk-ideographic | hiragana | katakana | hiragana-iroha | katakana-iroha | none | inherit | disc |
'margin' | 必須 (MUST) | 必須 (MUST) | <margin-width>{1,4} | inherit | 個々のプロパティを参照 |
'margin-top' 'margin-right' 'margin-bottom' 'margin-left' | 必須 (MUST) | 必須 (MUST) | <margin-width> | inherit | 0 |
'orphans' | 許容 (MAY) | 必須 (MUST) | <integer> | inherit | 2 |
'overflow' | 許容 (MAY) | 必須 (MUST) | visible | hidden | scroll | auto | inherit | visible |
'padding' | 許容 (MAY) | 必須 (MUST) | <padding-width>{1,4} | inherit | 個々のプロパティを参照 |
'padding-top' 'padding-right' 'padding-bottom' 'padding-left' | 許容 (MAY) | 必須 (MUST) | <padding-width> | inherit | 0 |
'page' | 必須 (MUST) | 必須 (MUST) | <identifier> | auto | auto |
'page-break-after' | auto | always | inherit | auto | always | inherit | auto | always | avoid | left | right | inherit | auto |
'page-break-before' | auto | always | inherit | auto | always | inherit | auto | always | avoid | left | right | inherit | auto |
'page-break-inside' | 必須 (MUST) | 必須 (MUST) | avoid | auto | inherit | auto |
'position' | 許容 (MAY) | 必須 (MUST) ‡ | static | relative | absolute | fixed | inherit | static |
'right' | 許容 (MAY) | 必須 (MUST) | <length> | <percentage> | auto | inherit | auto |
'size' | [<length>{1,2}| letter | legal | ledger | A4 | A5 | A3 | B4 | B5 ] | auto | portrait | inherit | [<length>{1,2} | letter | legal | ledger | A4 | A5 | A3 | B4 | B5 ] | auto | portrait | landscape | inherit | [<length>{1,2} | letter | legal | ledger | A4 | A5 | A3 | B4 | B5 ] | auto | portrait | landscape | inherit | auto |
'table-layout' | 許容 (MAY) | 必須 (MUST) | auto | fixed | inherit | auto |
'text-align' | left | center | inherit | left | right | center | inherit | left | right | center | justify | <string> | inherit | ユーザエージェントと書字方向による |
'text-decoration' | none, underline, inherit | none, underline, inherit | none | [ underline || overline || line-through || blink ] | inherit | none |
'text-indent' | 必須 (MUST) | 必須 (MUST) | <length> | <percentage> | inherit | 0 |
'text-transform' | 許容 (MAY) | 必須 (MUST) | capitalize | uppercase | lowercase | none | inherit | none |
'top' | 許容 (MAY) | 必須 (MUST) | <length> | <percentage> | auto | inherit | auto |
'vertical-align' | 許容 (MAY) | 必須 (MUST)1 | baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length> | inherit | baseline |
'visibility' | 許容 (MAY) | 必須 (MUST) | visible | hidden | collapse | inherit | inherit |
'white-space' | 必須 (MUST) | 必須 (MUST) | normal | pre | nowrap | inherit | normal |
'widows' | 許容 (MAY) | 必須 (MUST) | <integer> | inherit | 2 |
'width' | 必須 (MUST) | 必須 (MUST) | <length> | <percentage> | auto | inherit | auto |
表の注釈:
† 現在のページ番号を表す、一つの識別子 "pages" のみが要求されます (REQUIRED)。
* プリンタはもっとも少ない場合でも、フォントファミリ "serif"、"sans-serif" と "monospace" のサポートが推奨されます (RECOMMENDED)。
** サポートされる値は、プリンタに存在するフォントに対して適切なものになっているべきです (SHOULD)。
‡ プリンタは、現在のフローの前のページに配置されるような、位置決めされる要素を無視することができます (MAY)。
1 ページ境界を跨ぐ垂直位置決め (vertical-align) は未定義です。
CSS Print Profile は、Cascading Style Sheets, Level 2, revision 1 (CSS 2.1) [CSS21] で規定されているのと同じ構文を使用します。CSS Print Profile は、 CSS 2.1 で使われる値のサブセットを使用します。具体的には次のとおりです。
同様に、CSS Print Profile では、適合するユーザエージェントに対して、 CSS 2.1 [CSS21] で規定された文字符号化機構をサポートすることを必須とします。具体的には次のとおりです。
全体的に、CSS Print Profile では CSS 2.1 と同じカスケーディング規則を 使用します。具体的には次のとおりです。
CSS Print Profile に適合するユーザエージェントは、CSS 2.1 ([CSS21] 7 節) で規定されているように、メディア依存のスタイルシートを処理するものとします (SHALL)。具体的には次のとおりです。
print
を対象とするスタイルシートを受け入れ、処理するものとします (SHALL)。all
を対象にしたスタイルシートを受け入れ、処理するものとします (SHALL)。projection
や handheld
など) を処理してもかまいません (MAY)。以下の節では、適合条件要求を緩和させるか、さもなくば変更します。
浮動要素、div 要素、絶対配置されたボックスを、それら自身あるいは互いに、また表セルへの入れ子は慎重に使用すべきと、製作者は注意してください。これら構造物の入れ子の深さは、プリンタや実装系に依存するためです。
長い要素に対して page-break-inside: avoid
が指定され、プリンタがその要素全体をページに出力する前に保持できないなら、長い要素の前で改ページし、次のページの先頭からその要素を開始すべきです (SHOULD)。長い要素がページ先頭から開始されページの長さをはみ出してしまったのなら、プリンタは最初のページに可能な限り印刷し、次の、続きのページに続けるものとします (SHALL)。これは、ページ内容を保存することが要求されるためです (REQUIRED)。プリンタは長い要素を 1 ページに収めるようにスケール処理してもかまいません (MAY)。ですが、必要とされるスケーリングが最小でないようなものは、推奨されません。
プリンタの機械的制限により、実際の印刷領域はページの大きさより、しばしば小さくなります。しかしながら、印刷しようとするメディア中にページの大きさが CSS の size プロパティで提供されるなら、プリンタはそれ従うべきです (SHOULD)。
CSS3 Paged Media [PAGEMEDIA] の http://www.w3.org/TR/css3-page/#renderingpages にあるメディアシートに内容を合わせる議論を参照してください。
この節全体は参考です。
Cascading Style Sheets, Level 2, revision 1 ([CSS21]) の附属書 Dにはスタイルシートの例が紹介されています。このシートには、適合するプリンタには必要とされていないプロパティがいくつか含まれています。それらは高度なレイアウト拡張 (2.1 節) にも含まれていません。
高度なレイアウト機能 (enhanced layout facilities
) を実装しないプリンタの開発者は、サポートしないプロパティが扱われている以下の実装ガイドラインに従うことが奨励されますが、必須であるとはされません。このガイドラインはプリンタ実装間の一貫性を促すために提示されています。
ガイドラインには、派生元であるCascading Style Sheets, Level 2, revision 1 [CSS21] のスタイルシートのガイドライン (の該当部) を注釈として付け加えています。
address, blockquote, body, dd, div, dl, dt, h1, h2, h3, h4, h5, h6,
hr, object, ol, p, pre
と ul
要素は display プロパティが block
とされているように扱われるべきです。
li
要素は display プロパティが list-item
とされているように扱われるべきです。原文では should be treated as if its display property were set to list-items
.
だが、display プロパティにはそのような値は無い。
table, tr, td, th
と caption
要素は、それらの標準の意味あいと display の扱いを持つようにされるべきです。つまり table, table-row, table-cell
そして table-caption
です。
base, br, html, head, link, meta, param, style
と title
要素は display プロパティが none
とされているように扱われるべきです。
a, abbr, acronym, b, big, cite, code, dfn, em, form, i, img, input, kbd, option, samp, small, select, strong, sub, sup, textarea, tt
と var
は、 display プロパティが inline
とされているように扱われるべきです。
img, input, select
と textarea
要素の display プロパティを inline
とすることは、block
とする時には無かった柔軟性を文書作成者に与えます。
ADDRESS, BLOCKQUOTE, BODY, DD, DIV, DL, DT, FIELDSET, FORM,
FRAME, FRAMESET, H1, H2, H3, H4, H5, H6, IFRAME, NOFRAMES,
OBJECT, OL, P, UL, APPLET, CENTER, DIR, HR, MENU,
{ display: block }
LI { display: list-item }
HEAD { display: none }
TABLE { display: table }
TR { display: table-row }
THEAD { display: table-header-group }
TBODY { display: table-row-group }
TFOOT { display: table-footer-group }
COL { display: table-column }
COLGROUP { display: table-column-group }
TD, TH { display: table-cell }
CAPTION { display: table-caption }
body
要素の内容の縁はページ印刷領域の上下左右から 0.1 インチ内側とされるべきです。マージン計算はこれらのオフセット位置から始まるでしょう。
BODY { padding: 8px;
line-height: 1.33 }
sub
要素の内容は、vertical-align プロパティが sub
であるかのように扱われるべきです。同様に、sup
要素は vertical-align プロパティが super
であるかのように扱われるべきです。原文では should be treated as if its vertical-align property were set to sup
.
だが、vertical-align プロパティにはそのような値は無い。
SUB { vertical-align: sub }
SUP { vertical-align: super }
hr
要素は height と width で定義される領域が、1 ピクセルの thick かつ solid な線で囲まれるように扱われるべきです。標準の線は、高さ 1 ピクセルの包含ブロックの幅となるべきです。
HR { border: 1px inset }
abbr
と acronym
要素の内容の (英) 小文字は、現在の文字サイズの約 75 % の大きさの、大文字として描画されるべきです。大文字は変わらないでしょう。プリンタは小文字を縮小せずに大文字として描画してもかまいません。
ABBR, ACRONYM { font-variant: small-caps;
letter-spacing: 0.1em }
h1, h2, h3, h4, h5
と h6
要素内やその後ろでの改ページの防止は削除されます。したがって、プリンタはこれら要素をあるページの末尾からその次のページの先頭へと移動させることは必須ではありません。
H1, H2, H3,
H4, H5, H6 { page-break-after: avoid;
page-break-inside: avoid }
ul, ol, dl
の前で改ページを防ぐ必要はありません。
UL, OL, DL { page-break-before: avoid }
hr
要素以外のすべての要素の境界は、その border-style プロパティが none
と設定されているかのように扱われるべきです。visible
に、clip プロパティが auto
と設定されているかのように扱われるべきです。
static
と設定されているかのように扱われるかもしれません。
fixed
であるかのように扱われるべきです。
下記スタイルシートは Cascading Style Sheets, Level 2, revision 1 ([CSS21]、附属書 D) の附属書 Dにあるサンプルスタイルシートを改変し、前記ガイドラインによったものです。
th { font-weight: bolder; text-align: center } caption { text-align: center } body { line-height: 1.33 } h1 { font-size: 2em; margin: .67em 0 } h2 { font-size: 1.5em; margin: .83em 0 } h3 { font-size: 1.17em; margin: 1em 0 } h4, p, blockquote, ul, form, ol, dl { margin: 1.33em 0 } h5 { font-size: .83em; line-height: 1.17em; margin: 1.67em 0 } h6 { font-size: .67em; margin: 2.33em 0 } h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder } blockquote { margin-left: 40px; margin-right: 40px } i, cite, em, var, address { font-style: italic } pre, tt, code, kbd, samp { font-family: monospace } pre { white-space: pre } big { font-size: 1.17em } small, sub, sup { font-size: .83em } ol, ul, dd { margin-left: 40px } ol { list-style-type: decimal } ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 } br { content: "\A" } @media print { @page { margin: 10% } blockquote, pre { page-break-inside: avoid } }
高度なレイアウト拡張 (2.1 節) に適合するプリンタの開発者は、適合するプリンタよりも多くの Cascading Style Sheets, Level 2, revision 1 [CSS21] を実装しなければなりません (MUST)。それでも、プロパティやその値の組み合わせは完全なものより少なくなります。
プリンタの開発者は、サポートしないプロパティが扱われている以下の実装ガイドラインに従うことが奨励されますが、必須であるとはされません。
table, tr, td, th
と caption
要素は、それらの標準の意味あいと display の扱いを持つようにされるべきです。つまり table, table-row, table-cell
そして table-caption
です。
inset
値のサポートは必須であるとはされていないからです。
h1, h2, h3, h4, h5
と h6
要素内やその後ろでの改ページの防止は削除されます。したがって、プリンタはこれら要素をあるページの末尾からその次のページの先頭へと移動させることは必須ではありません。
ul, ol, dl
の前で改ページを防ぐ必要はありません。下記スタイルシートは [CSS21] の附属書 Dにあるサンプルスタイルシートを改変し、前記ガイドラインによったものです。
address, blockquote, body, dd, div, dl, dt, form, h1, h2, h3, h4, h5, h6, object, ol, p, ul, hr, pr e { display: block } li { display: list-item } head { display: none } th { font-weight: bolder; text-align: center } caption { text-align: center } body { padding: 8px; line-height: 1.33 } h1 { font-size: 2em; margin: .67em 0 } h2 { font-size: 1.5em; margin: .83em 0 } h3 { font-size: 1.17em; margin: 1em 0 } h4, p, blockquote, ul, form, ol, dl, { margin: 1.33em 0 } h5 { font-size: .83em; line-height: 1.17em; margin: 1.67em 0 } h6 { font-size: .67em; margin: 2.33em 0 } h1, h2, h3, h4, h5, h6, b, strong { font-weight: bolder } blockquote { margin-left: 40px; margin-right: 40px } i, cite, em, var, address { font-style: italic } pre, tt, code, kbd, samp { font-family: monospace } pre { white-space: pre } big { font-size: 1.17em } small, sub, sup { font-size: .83em } hr { border: 1px } ol, ul, dd { margin-left: 40px } ol { list-style-type: decimal } ol ul, ul ol, ul ul, ol ol { margin-top: 0; margin-bottom: 0 } br { content: "\A" } @media print { @page { margin: 10% } blockquote, pre { page-break-inside: avoid } }
この節は参考です。
この仕様は W3C CSS ワーキンググループにより準備されたものです。公表時点の関係者は以下の通りです。
一覧はこの本文書が勧告になったら追加されます。
この仕様は、IEEE Industry Standards and Technology Organization, Inc. のプログラム、プリンタワーキンググループ の同名の仕様、CSS Print Profile [CSSPP] を元にしています。編集者はそれに貢献したすべての人々に感謝を述べたいと存じます。
[訳注: 各仕様の日本語訳については、http://www.w3.org/2005/11/Translations/Query?lang=ja に情報がまとめられています]