このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

CSS3とは?

記事Aug. 19th,2021
CSS3とは何か?CSS3がこれまでのCSSとどう違うのかを紹介

CSS

そもそも“CSS”とは?

CSS(カスケーディング・スタイル・シート、Cascading Style Sheets)”はHTMLなどで構造化された文書がどのように描画されるかを制御するためのスタイルシート言語です。

カスケード”とはもともと何段にも連なった小さな滝のことで、派生して連鎖的、段階的に物事が生じる様子を意味します。CSSでは上流で指定されたスタイルを下流へ引継ぐ“継承”が行われ、上流で指定されたスタイルとその箇所に直接指定されたスタイルが競合する場合には決められた優先順位によって適用するスタイルを一つに決める“カスケード(Cascade)”という仕組みがあり、CSSの大きな特徴になっています。

CSSはHTMLで記述されたウェブページのレイアウトやデザインを表現するために使用されることで知られますが、CSSはHTMLだけでなく、XMLなども含めた他のマークアップ言語で記述された構造化文書に適用することが可能で、画面だけでなく、紙などへの文書の描画についても定義しています。

“スタイルシート”とは?

スタイルシート(Style Sheet)”は構造化文書の見栄えを制御するための仕組みで、その規則を記述するためのコンピューター言語はスタイルシート言語と呼ばれます。CSS以外にもスタイルシート言語は存在しますが、HTMLで使用されるスタイルシート言語はCSSのみであり、ウェブ上で最も広く使用されているスタイルシート言語でもあるため、単に“スタイルシート”というとほとんどの場合はCSSのことを指します。

過去にはHTMLでも書体や文字の色を変えるfont”要素や太字にするb”要素、イタリック体にするi”要素などの見栄えを整える要素や属性が存在したことがありますが、これは文書の構造を記述するための言語であるHTMLの本来あるべき姿から逸脱しており、HTML5以降の仕様では見栄えのための機能はHTMLでは廃止され、スタイルシート言語であるCSSがその機能を担うことになりました。

CSS3

“CSS3”とは?

CSS3”は一般にCSSの最新の仕様を指して使用される言葉です。一般的に“CSS3”と呼ばれる仕様はそれ以前の“CSS2.1”までとは異なり、“Cascading Style Sheets, Level 3”という単一の仕様書としては存在しません。“CSS3”は“CSS2.1”の仕様書を核とし、これに機能を拡張・追加したり、一部の定義を置き換えたりする多数の“モジュール(Module)”と呼ばれる仕様書から構成され、機能ごとに仕様書が細分化されています。

“CSS3”のイメージ

CSSの仕様はW3CのCSSワーキング・グループ(CSSWG)により策定されており、“CSS3”を構成するモジュールもW3Cによって策定が進められています。

“CSS3”を構成する仕様書の多くはまだ策定中で仕様が完全に固まっていません。策定中の仕様であっても主要なブラウザの対応が進んでいて多くのウェブサイトで使用されているものも多くありますが、その一方でブラウザによる対応が進んでいない機能も数多くあります。

“CSS3”という一つの仕様はありませんが、数年に一度“CSS Snapshot”と呼ばれるその段階でのCSSの使用の策定状況を記載したスナップショットがW3Cによって発行され、どの仕様が固まっていて、どの仕様がまだ策定段階なのかが示されています。

“CSS3”とこれまでの仕様の違い

“CSS3”にはグリッド・レイアウトやフレキシブル・ボックス・レイアウトといった新しいレイアウト方法やアニメーションなど、過去のCSSでは表現することができなかった多様な表現が可能となり、大幅に機能が増えました。

しかし、“CSS3”は過去のCSSの仕様を土台として策定されているため、基本的にすべての機能に後方互換性があり、“CSS3”になることによってコードを書き換えたりする必要はありません。

CSSの“レベル”

CSSの仕様書の改訂版は一般的な“バージョン”ではなく、“レベル(Level)”の番号が付けられます。新しいレベルのCSSは前のレベルのCSSの仕様を土台にして策定され、定義済みの機能をより洗練されたものにしながら新しい機能が追加されます。これにより新しいレベルのCSSは過去のレベルのCSSの仕様にあるすべての機能を含むことになり、新しいレベルのCSSに対応したユーザー・エージェントは過去のレベルのCSSにも対応することになります。

“CSS Level 1”

最初のCSSの仕様書は1996年12月17日に勧告された“Cascading Style Sheets, level 1”です。この仕様書は一般的に“CSS1”と呼ばれ、フォントや背景、パディング、ボーダー、マージンを指定するプロパティなどの基本的な機能が定義されました。

“CSS Level 2”

次のCSSの仕様書は1998年5月12日に勧告された“Cascading Style Sheets, Level 2”です。この仕様書は一般的に“CSS2”と呼ばれ、“CSS1”から大幅に機能が増えました。

“CSS2”が勧告された当時はまだ“勧告候補”の段階がなく、“CSS2”は実装されてから多くの問題点が明らかになったため、問題を解消した“Cascading Style Sheets, Level 2 Revision 1”が2011年6月7日に勧告されました。この仕様書は一般的に“CSS2.1”と呼ばれます。なお、“CSS2”のうちブラウザによる実装が進んでいなかった機能は“CSS2.1”からは取り除かれました。それらの機能は“勧告候補”の段階にあるものとして扱われ、“CSS3”で再定義されることになりました。

“CSS Level 3”

“CSS3”も“Cascading Style Sheets, Level 3”という呼び方をされることがありますが、これは過去のレベルとの区別のための呼び方であり、CSS全体としては今後“レベル”は与えられません。しかし、“CSS3”を構成するモジュールにはそれぞれに“レベル”があります。それぞれのモジュールは“Level 4”や“Level 5”へ到達することはありますが、“Cascading Style Sheets, Level 4”や“Cascading Style Sheets, Level 5”はありません。

なお、“CSS2.1”から定義されている機能を拡張するモジュールは“Level 3”からモジュールが策定されていますが、新しい機能を定義するモジュールは“Level 1”から策定されているため、“CSS3”には“Level 1”の仕様書も含まれます。

一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク