since: 20th/May/2002
CSS は HTML 文書(XML 文書)の表示方法(レンダリング)を指定する仕組みです。例えば、見出し h1 要素のフォントは 24px で中央寄せにする、段落 p 要素のフォントは 12px で一文字分字下げするなどのように指定します。本稿では、HTML 文書の実例に対して CSS によって表示方法をいろいろ指定することで、CSS の使い方を説明します。
最初に、 HTML で文書を表現します:
<?xml version="1.0" encoding="Shift_JIS" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=Shift_JIS" /> <title>坂口安吾を考える</title> </head> <body> <h1>坂口安吾を考える</h1> <p>坂口安吾は、「堕落論」、「日本文化私観」、「白恥」、「桜の森の満開の下」、 「夜長姫と耳男」などが有名な物書きです。明治39年新潟に生まれ、第二次大戦後10 年、昭和30年に脳溢血で没しました。享年48歳。無頼派として有名であり、「反逆」 と「堕落」がキーワードです。神田のアテネ・フランセで仏文を学んでいた経験からか、 「生」、「生活」、「肉体」、「実質」にこだわり、「枯淡」、「諦念」、「侘び錆び」 を徹頭徹尾否定します。</p> <p>私は自分の欲望に忠実である事が「誠実」と言う事だと考えます。己の欲するところ を外的要因で為さぬのならば、それは単純に敗北を意味する。この点で、常軌を逸したと ころには必ず真実が宿り、強靭であれば正義だと思っています。逆に言えば、己の為すと ころは、己の欲するところである事が必然的な結論になります。絶望は愚か者の結論。坂 口安吾は絶望して取り澄ますことを嫌い、七転八倒、顛倒混乱、羞恥の底にもがき苦しむ ことを望みます。全く同感です。</p> </body> </html>
上に挙げた例は、 XHTML 1.1 の文書例です。ただし、"application/xhtml+xml
" である XHTML 文書は、meta http-equiv
を指定すべきではない (SHOULD NOT) とされています。
ご利用のブラウザで表示を確認してみてください。サンプル
図: HTML 文書の表示例(CSS なし) |
この例は、表示体裁を全く指定していません。このとき、閲覧装置はデフォルトの表示体裁でレンダリングします。デフォルトの表示体裁は閲覧製品に依存するものであり、文書製作者が指定するものではありません。文書製作者が表示体裁を指定するために用いるのが CSS です。
文書の価値には、含まれているデータと、プレゼンテーションと云う二つの面があります。データに対して、表現の形を与えることで、意味を持つ情報になります。 HTML 文書閲覧装置は、タグによって明示された意味に、適切な表示方法を与えて表示します。閲覧装置のデフォルトの「適切な表示方法」は製品ごとに異なります。
提供する情報、閲覧する装置が異なれば、最適な表示体裁も異なるので、文書製作者が、表示体裁/プレゼンテーションを明示的に指定することは、内容を過たず伝えるために重要な要素となります。
上で挙げたサンプルに CSS を適用してみましょう。ここでは、 CSS の書式などは一切説明しません。「こう書いたら、こうなった」式に追いかけてみてください。
最初に、段落の一行目を一文字へこませてみます。「これを字下げ」、「インデント」と言います。日本語の印刷物の文章では、ほとんどがこの形式で段落をあらわしています。
<meta http-equiv="content-style-type" content="text/css" />但し、"
application/xhtml+xml
" である文書には、meta http-equiv
を指定すべきではないとされています。<meta http-equiv="content-style-type" content="text/css">
<style type="text/css"> p { text-indent: 1em } </style>HTML も XHTML も同じです。
図: CSS のない例 | 図: CSS で text-indent を指定した例 |
CSS で text-indent を指定した例を御覧いただくと、 CSS 対応のブラウザでは、段落の一行目は字下げされている事を確認できます。
ほとんどのブラウザでは、デフォルトの見栄えでは、行間が詰まりすぎていて、長い文章を読むのは疲れます。私は、一行の高さが文字の高さの1.3倍から1.5倍くらいが好みです。今は、段落の行を、文字の1.5倍に指定します。
<style type="text/css">
p { text-indent: 1em;
line-height: 1.5 }
</style>
HTML も XHTML も同じです。
図: CSS のない例 | 図: CSS で line-height を指定した例 |
CSS で line-height を指定した例を御覧いただくと、 CSS 対応のブラウザでは、段落の行の高さが文字の1.5倍になっている事を確認できます。
ほとんどのブラウザでは、デフォルトの見栄えでは、段落間に一行の余白を挿入しています。インデントを取って、行間を広げた後では、段落間に一行取るのは取りすぎかもしれません。今は、段落の周囲の余白をなしに指定します。
<style type="text/css">
p { text-indent: 1em;
line-height: 1.5;
margin: 0 }
</style>
HTML も XHTML も同じです。
図: CSS のない例 | 図: CSS で margin を指定した例 |
CSS で margin を指定した例を御覧いただくと、 CSS 対応のブラウザでは、段落の周囲に余白がなくなっている事を確認できます。
ほとんどブラウザでは、デフォルトの見栄えでは、 body 要素の内容をウィンドウの端からぎりぎりに表示します。これでは窮屈な印象を与えますから、 body 要素の内容の周囲にスペースをとって、 body 要素を膨らませてみます。逆に言うと、要素を表示できる領域は親要素などによって決まっているので、内容を表示する領域を小さくすることを意味します。今は、上下に1文字分、左右に body 要素の横幅に対して 5% 分、膨らませます。
<style type="text/css">
body { padding: 1em 5% }
p { text-indent: 1em;
line-height: 1.5;
margin: 0 }
</style>
HTML も XHTML も同じです。
図: CSS のない例 | 図: CSS で padding を指定した例 |
CSS で padding を指定した例を御覧いただくと、 CSS 対応のブラウザでは、body 要素の周囲が膨らんでいる事を確認できます。この HTML 文書のソースコードは次のようになっています。
<?xml version="1.0" encoding="Shift_JIS" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="content-type" content="application/xhtml+xml; charset=Shift_JIS" /> <meta http-equiv="content-style-type" content="text/css" /> <title>坂口安吾を考える</title> <style type="text/css"> body { padding: 1em 5% } p { text-indent: 1em; line-height: 1.5; margin: 0 } </style> </head> <body> <h1>坂口安吾を考える</h1> <p>坂口安吾は、「堕落論」、「日本文化私観」、「白恥」、「桜の森の満開の下」、 「夜長姫と耳男」などが有名な物書きです。明治39年新潟に生まれ、第二次大戦後10 年、昭和30年に脳溢血で没しました。享年48歳。無頼派として有名であり、「反逆」 と「堕落」がキーワードです。神田のアテネ・フランセで仏文を学んでいた経験からか、 「生」、「生活」、「肉体」、「実質」にこだわり、「枯淡」、「諦念」、「侘び錆び」 を徹頭徹尾否定します。</p> <p>私は自分の欲望に忠実である事が「誠実」と言う事だと考えます。己の欲するところ を外的要因で為さぬのならば、それは単純に敗北を意味する。この点で、常軌を逸したと ころには必ず真実が宿り、強靭であれば正義だと思っています。逆に言えば、己の為すと ころは、己の欲するところである事が必然的な結論になります。絶望は愚か者の結論。坂 口安吾は絶望して取り澄ますことを嫌い、七転八倒、顛倒混乱、羞恥の底にもがき苦しむ ことを望みます。全く同感です。</p> </body> </html>
ここまででは、 CSS の書式、プロパティーやパラメータの働きなどは全く説明していません。
勉強を始める前に、本稿のサンプルをローカル PC 上に保存して、 CSS のパラメタである数字を思う様いじってみると、 CSS がどんなものか、雰囲気がつかめると思います。