スタイルシート学習辞典(ロゴ、1.56k)

ブラウザ対応順に並べたスタイルシート(css)学習辞典。ブラウザ対応で苦しんでいる人のために作られた辞典。

<<辞典の1ページ目 |リンク集 |ヘルプ>>

辞典の索引>優先度11の例外優先度2優先度3優先度4優先度5


スタイルシート(css)学習辞典

ブラウザ対応順に並べたスタイルシート(css)学習辞典。ブラウザ対応で苦しんでいる人のために作られた辞典。

スタイルシートが分からなくて、初めての方は「スタイルシートの基礎知識

一括でダウンロードしたい方は、次の圧縮版をどうぞ。LZH形式で圧縮しています。>>css42.lzh。LZH形式だと困る方は、代わりの形式(zip形式とtar.gz形式)を用意しています。(css42.zipあるいはcss42.tgz

重要なお知らせ

アドレス(URL)が変更しました。旧アドレスは来年の2004年1月末に削除される予定ですので、大変お手数ですが、リンクをされている方は修正をお願いします。

2003年9月1日から辞典のアドレスが変わります。「http://dhr.tipod.co.jp/....」が、新しく「http://dhr.at.infoseek.co.jp/....」に変更します。なお、旧アドレスにアクセスしますと、自動的に新アドレスになります。

お知らせ

バージョン4.3となりました。詳しくは更新履歴をご覧下さい。

バグなどを調べたいときには、次のページへ>>「スタイルシート(CSS)のトラブル、バグ集

ABC順で調べたいときには、次のページへ>>「ABC順索引(スタイルシートcss学習辞典)

目的別に調べたいときには、次のページへ>>「イメージ探索(スタイルシートcss学習辞典)」(画像付きなので、表示が遅くなります)

目次(索引はすぐこの下です)

  1. 索引(優先度順)
  2. スタイルシートの基礎知識
  3. 優先度について
  4. 本編

1,索引

上から順に学ぶのが無難です。

優先度1(問題点はあるものの、使っても安心。初心者はさっそく使ってみよう。)
ほとんどのブラウザが対応している。1997年の時点で登場しているインターネットエクスプローラー4.0、ネットスケープ4.0以降で対応。また、インターネットエクスプローラー3.0でも対応しているものがある(不安定であるが)。
優先度1の例外(表示が乱れる恐れあり。上級者でも対処が難しいだろう。)
かろうじてブラウザが対応しているものの、表示が乱れてしまう。
優先度2(対応していないブラウザがあるので注意。中級者向け。)
注意を要する。設定の反映されないブラウザがある。インターネットエクスプローラー(バージョン3.0か4.0以降)か、ネットスケープ(4.0以降)、どちらか一方に対応している。なお、この段階でネットスケープ6は完全に対応している(ようだ)。
優先度3(最先端。ここまでくれば、上級者といえる。)
最先端のスタイルシートと言うべきレベル。2001年の時点では新しいブラウザである、インターネットエクスプローラー5.5かネットスケープ6かのどちらか片方、あるいは両方に対応している。ブラウザ対応に配慮すべきであろう。
優先度4(まだまだこれから先)
将来に、対応されるかもしれないスタイルシート。この辞書では簡単な紹介をするだけにとどめる。
優先度5(標準情報ではないので、警戒するべき)
W3Cが規格している「CSSレベル2」に従っていない。ゆえに、会社独特のスタイルシートであって、標準化されるかどうか不明。

ブラウザ対応順に並べていますが、要素によっては設定が無視されることがあります。特に、フォーム、リストに関する要素(form要素ol要素ul要素など)にはなかなか適用されにくいようです。そのほか、blockquote要素や、table要素も適用されにくいです。

ここの登場するブラウザの名前の尾につく数字は、そのブラウザのバージョン(本で言うところの第何版)です。

2,スタイルシート(style sheet)の基礎知識

スタイルシートを使えば、誰でも、自由に、ホームページのデザインができます。HTMLの知識は必要ですが、意外と難しくありません。

HTMLの学習には、私が編集したHTML言語学習辞典が役に立つかも知れません。

ネットスケープ4.xをお使いの方へ:ブラウザの古いネットスケープ(ネットスケープ4.x)をお使いの方だけは、javascript(ジャバスクリプト)を使えるようにしてください。やり方は、「編集>設定詳細>JavaScriptを有効にする」をチェックしてください。使えないように設定すると、スタイルシートが無視されます。

初心者のためのスタイルシートの作り方、書き方

スタイルシートを使って、文字を赤くしてみよう

  1. あらかじめHTMLを勉強しておきます。デザインをしたいホームページのhead要素の中に、「<link rel="stylesheet" type="text/css" href="CSSファイル(拡張子が.css)">」を書いて入れます。
  2. 次にCSSファイル(文書)を作ります。ここでは、仮に「sample.css」という名前のファイルを作ってみましょう。その前に、1の時に、「<link rel="stylesheet" type="text/css" href="sample.css)">」と書きます(例1)。
    「例1」
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="sample.css">
    </head>
    <body>(省略)</body>
    </html>
    
  3. スタイルシート作成ソフトか、文書を編集するソフト(ウィンドウズではメモ帳とか)を用意します。
  4. 3で用意したソフトを使います。「.(ドット)」と「{}(かっこ)」と「:(コロン)」の3つの記号を使って、
    .medatu{ color : red}
    」と書きます。その文書をCSSファイルの「sample.css」として保存します。間違って、別の形式で保存しないように注意してください。
  5. 次にホームページを編集します。例えば、「<div>赤色で目立つ</div>」と、ホームページに書いてあったとしましょう。この時点では「赤色で目立つ」は黒字で表示されます。それを、「<div class="medatu">赤色で目立つ</div>」とします(例2)。
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="sample.css">
    </head>
    <body>
    <div class="medatu">赤色で目立つ</div>
    </body>
    </html>
    
  6. このように、class属性を付け加えると、ブラウザでは「赤色で目立つ」という文字が赤字になっているはずです。例2のページを用意しましたので、ご確認下さい。>>sample20020922.htm
  7. 青色にしたいときは、sample.cssの「.medatu{ color : red}」を、「
    .medatu{ color : blue}
    」と書きかえます。さらに、背景の色を赤にしたいときは「
    .medatu{color : blue ; background-color : red}
    」とします。うまくいきましたでしょうか?

class属性を付けるのが面倒な方は

  1. さて、いちいち、スタイルシートを使うのに、class属性を付けなければならないのでしょうか。いいえ、大丈夫です。例えば、以下のようなページがあったとします(例3)。class属性を書くのが面倒ですね。
    「例3」
    CSS(sample.css)では
    .medatu{color : white; background-color : red}
    
    HTMLでは
    
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="sample.css">
    </head>
    <body>
    <p class="medatu">1番目の赤</p>
    <p class="medatu">&2番目の赤lt;/p>
    <p class="medatu">3番目の赤</p>
    </body>
    </html>
    
  2. class属性をいちいち付けるのが面倒なので、「class="medatu"」を取り去り、sample.cssの「.medatu{color : white; background-color : red}」を、「p{color : white; background-color : red}」に書きかえます(例4)。これで、全てのp要素が変化します。
    「例4」
    CSS(sample.css)では
    p{color : white; background-color : red}
    
    HTMLでは
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="sample.css">
    </head>
    <body>
    <p>1番目の赤</p>
    <p>2番目の赤</p>
    <p>3番目の赤</p>
    </body>
    </html>
    
  3. 「例4」のページ(>>sample20020928.htm)をご用意しました。あなたがご覧になって下さい。下のような表示がされるはずです(図1)。sample20020928.htmというHTMLファイルをブラウザで表示させた画像(1.57kバイト)。

「p.medatu」というようにすると、p要素のclass属性に「medatu」と書いてあるものだけ、スタイルシートを適用できます。

body要素に適用させると(body{color : white; background-color : red})、一面全体の背景に色が付けられます。文書全体にスタイルシートを適用させたいときなどは、body要素に適用させると良いでしょう。

また、全ての要素にスタイルシートを用いたいときには、「*」をセレクタに書きます。ですから、「.medatu」は「*.medatu」と同じだと言えます。

class属性の代わりに、id属性を

  1. class属性の代わりに、id属性を使っている人がいます。「例2」において、「class="medatu"」を取り去り、代わりに、「id="medatu"」と書きかえます。
  2. sample.cssの「.medatu{color : white; background-color : red}」を、「#medatu{color : white; background-color : red}」に書きかえます(例5)。これでも同じ結果になります。
    「例5」
    CSS(sample.css)では
    #medatu{color : white; background-color : red}
    
    HTMLでは
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="sample.css">
    </head>
    <body>
    <p id="medatu">赤色で目立つ</p>
    </body>
    </html>
    
  3. 例5のページを用意いたしましたので、その目で確かめてください。>>sample20020929.htm

id属性とclass属性との違いについて

id属性とclass属性の決定的な違いは、一つの文書内で、class属性は何度でも同じ値を使えるのに対し、id属性は同じ値を使えないと言う制限の問題です。

例えば、
<p id="medatu">
<p id="medatu">
は同じ「aka」を使っているので、ダメです。
以下は許されています。
<p class="medatu">
<p class="medatu">

学校にたとえると、class属性はクラス(1年1組)、id属性は名前(山田太郎)と言ったところでしょうか。class属性は便利で、よく使われます。id属性には他にも用途がありまして、name属性の代わりをしたりします。

ところで、「medatu」とありますが、アルファベットならば「aaa」でも何でも構いせん。あなたの好きな言葉を書いてください。ただし、気を付けなければならないのは数字やハイフン(-)で書き始めることです。「f1」はいいのですが、「1f」ではダメです。仕様で禁じられています。

さて、作り方を見てみると、書き方は次のような決まりがあることが分かります。

.medatu { color : red}

セレクタ { プロパティ : }または、セレクタ{ プロパティ : 値 ; プロパティ : 値}

作り方に書かれてある「.medatu」や「#medatu」など、「.class属性の内容」や「#id属性の内容」はセレクタ、「background-color」や「color」はプロパティ、「red」などは値に当たります。この辞書ではセレクタとプロパティと値について説明しています。さっそく、優先度1からお読み下さい

スタイルシートが初耳だという方は

>>第九話の6章「スタイルシートって何?」をお読みください。

HTMLについて、初耳だという方は第9話「HTMLとは何か」をお読み下さい。

3,優先度について

優先度はどれだけ学んで欲しいかを指します。ただし、ブラウザ対応については、保証しませんのであしからず。

優先度の基準により、重複して登場するプロパティが登場します。ご了承下さい。

優先度1>優先度2>優先度3>優先度4>優先度5

優先度の基準
優先度1優先度2優先度3優先度4優先度5
インターネットエクスプローラー対応3.0か4.0以降インターネットエクスプローラー4.0以降かあるいはネットスケープ4.0以降か、どちらか一方5.5(対応していない場合もあり)なし
ネットスケープ対応4.06.0なし
オペラ対応6.0以降6.0以降(バグについては未確認)同右なし?
CSS2×

スタイルシートはできるだけW3Cと言う機関の「CSS2(http://www.w3.org/TR/REC-CSS2)」の規格に従っていますが、全てを網羅しているわけではありません。というのは、まだまだ、ブラウザ(音声とかはまだ先のことと思われる)が対応していないためで、この学習辞典では除いた方がいいと思われるからです。

CSS2(http://www.w3.org/TR/REC-CSS2)に関しては、英語版であるが、日本語訳があったのでそれを参考にした。以下のサイトにある。

>>「Empty Index(日本)」(http://www.fan.gr.jp/~kaz/index.html)

ブラウザ対応は、INDX DOT(http://www.blooberry.com/indexdot/css/supportkey)、または、ZSPC対応状況ガイド(http://www.zspc.com/documents/css2/index.html)、Web Reviewの「Style Sheet Refernce Guide Master Grid(http://www.webreview.com/style/css1/charts/mastergrid.shtml)」、とほほのスタイルシート入門における「CSSサポート状況一覧(http://tohoho.wakusei.ne.jp/wwwcss3.htm)」を参考にした。また、他にも、エラー報告の参考に「三日坊主++の部屋(http://east.portland.ne.jp/~sigekazu/index-j.htm)」と「『CSSバグ辞典スレッド』の要約(http://members.tripod.co.jp/cssbug/)」を資料に使った。ただ、確認できるところは自分で確認した。

さて、次のページから本編が始まります。


back(1/6)次のページへ進みます

 (辞典の索引>優先度11の例外優先度2優先度3優先度4優先度5)

シンプル

>>辞典の1ページ目へいく

>>この章の関連リンク集が見たい

私が作った他の学習辞典も、よろしければお使い下さい。「HTML学習辞典」、「SVG学習辞典」。

simple by dhr(Eメールでdhrname@mail.goo.ne.jp