CSSってどんなもの?

博士H:

よぉ来たのぉ。
はじめましての人、
しばらくのお付き合い、宜しくなのじゃ。
また会ったねの人も、あきれずによろしくなのじゃ。

このサイトでは、CSSについて解説するじゃ。
主にCSS2に沿って解説するじゃ。

生徒B:

博士、まずCSSってどんなものなのかを
簡単に説明してくれない?
後、後ろについてる"2"についても。

博士H:

"CSS2"の2とは、Levelを表しておるのじゃよ。
HTMLも、1.0 から始まって、
4.01 と変わって来ておるじゃろ。
CSS も同様に、進化して来ておるのじゃな。

生徒A:

じゃ、CSS1もあったって事ですよね。
CSS2はCSS1とどのくらい違うんですか?
また、互換性はあるんでしょうか?

博士H:

う〜むむむ、、、
それは初心者向けの内容から外れてしまうし、
解説し始めたばっかりの今説明したところで
分からんと思うのじゃな。

まぁ敢えて一つ挙げるとすれば、
CSS2ではXMLも考慮されておることかのぅ。

どうしてもと言うなら、

CSS2 の CSS1 からの変更点にまとめてあるで、
そっちを見に行くじゃ。
行って分からんのじゃったら、
ここに戻ってくるんじゃぞ。

取りあえず互換性はある
思っておいてくれなのじゃ。

生徒B:

○?■>♪★$◎△☆
・・・・もうちょっと後で行く。

ところで、XMLってなんだ?

博士H:

HTMLのようなモノを作るための言語の一種じゃよ。

生徒B:

つまり、言語を作るための言語って事?

博士H:

そうじゃそうじゃ。

生徒B:

ヘンなの

博士H:

まいったのー・・

生徒A:

博士、バカは放っておいて、
そろそろCSSとは何か、の説明お願いしまーす。

博士H:

うむ。

CSSとは、Cascading Style Sheets の略、
つまり、Style Sheets の一種で、
Cascading するのが特徴のもの、
ということなのじゃナ。

生徒B:

こら。
ウルトラ級ズボラ解説やってんじゃねーぞ。

博士H:

Cascadingとは、
直訳すると「段階的に行う」となるのじゃ。
何を行うのかというと、
HTMLは入れ子の構造になっとることは
前教えたの。

入れ子について

要は、その入れ子の構造に沿って、
段階的に上手く処理できる
ようになっとる
っちうことなんじゃよ。

生徒B:

ふむふむ。

博士H:

で、Style Sheetsちうのは何モンかと言うと、
スタイル、つまり見栄えを決めるための
シート、つまりファイルっちうことなのじゃ。

HTML講座じゃぁ言わんかったが、
HTMLちうのは、
文書の構造を示すもの
なんじゃ。

生徒A:
生徒B:

こぉぞぉ???

生徒A:

ってなんですか?

博士H:

えぇぇ、つまり、じゃな、
これはチト抽象的で説明しにくいんじゃが、
その文に意味を与える、ということなんじゃよ。

例えばh1を使った部分は、
一番大きな見出しとしての
意味を持つのは分かるかのぅ。

生徒B:

分かったような分からんような・・・

生徒A:

そういう要素を書いてみてくれませんか。

博士H:

そうじゃの、ではざっと書いてみるじゃ。

abbr,abbr,address,
base,blockquote,body,
caption,cite,code,
dd,del,dfn,dl,dt,
em,
fieldset,form,
hx,head,html,
img,ins,
kbd,
label,legend,li,link,
meta,
object,ol
p,pre,
q,
table,td,th,title,tr,
ul,
var

生徒A:

じゃ、残りの要素はなんなんですか?

博士H:

残りの大半の要素は
見栄え、つまりスタイルを変えるだけで、
他に何も役に立たぬぞい。

生徒A:

もしかして、alignとか属性の中にも、
そういう構造じゃないのが混じってますね。

博士H:

その通りじゃ!
例えば、backgroundcellpaddingなんかが
そうじゃの。

生徒B:

表裏のあるヤツが構造を示す要素で、
表裏の無いヤツが見栄えだけの要素

・・・って事か。

博士H:

うぅむ、それはちと違うのじゃが、
そう考えた方が分かりやすいかのぅ。

そんなこんなで、
構造を示す為のHTMLに、
見た目だけを変える要素が混じっとるじゃろ。
そぉゆぅのをHTMLから切り離そう、
ちうことで考え出されたのがコレ、
スタイルシートとゆぅものなんじゃ。

生徒B:

じゃ、HTMLの仕様に
厳格にならなくっていいなら、
別にCSSを使う必要無しってこったな。

博士H:

相変わらずじゃのー・・

CSSじゃないと出来んことも多いし、
第一、HTMLに見栄えを求めてしまうと、
無駄にタグが多くなって大変
じゃぞ。

例えばじゃ、さっき出て来たCSS Dencitie
ここのソースを比べてみるのじゃ。

生徒B:

ふーむ。

博士H:

それに、CSS を使うと、
サイト内のデザインがバラけにくくなるで、
統一感が出るんじゃ。
リニューアルの時も
これをチョチョイといじってやれば、
簡単にサイト全体のデザインを変える事が
出来る
のじゃよ。

構造化言語だけに、
こうぞうさも無く覚えられるのじゃナ。

生徒B:

がくーっ