
メールマガジン「初心者のためのホームページ作り」でお伝えした内容を、「復習」の意味で掲載しています。テキストのみのマガジンと違って、実際のサンプルや画像を交えて解説していますので、理解が深まると思います。
なお文中、疑問点や分からない点がありましたら、ご遠慮なく当方まで メールにてご質問ください。
<第89号> 今週のおさらい 毎週金曜日配信 What's New 2004年3月19日 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ■ HTML講座 第31回 --- DTDの不思議 ■ CSS講座 第10回 --- 枠線
DTD = Document Type Definition) は、文書がどのバージョンの HTMLの仕様に従って記述するのかを宣言するもので、HTML文書の冒頭で必ず明示しなければなりません。DTD では、要素と属性の記法に関する仕様を詳細に取り決めたもので、Webブラウザはその仕様に従ってレンダリングするものと決められています。DTDを参照し、それに則って解釈しなければならないのですが、ほとんどの場合ブラウザ固有の実装仕様に任されているのが実情です。そのため、DTD の種別によって、作者が意図しない特異の表現をする「不思議」な現象が発生します。DTDでは、要素の形式や利用法、利用できる属性や記法が定義されており、基本的に作者は DTD で決められている仕様に従って HTML文書を作成しなければなりません。ul要素について定義されている DTD の一部です。<!-- Unordered Lists (UL) bullet styles --> <!ELEMENT UL - - (LI)+ -- unordered list --> <!ATTLIST UL %attrs; -- %coreattrs, %i18n, %events -->
DTD では、順序を規定しないリスト (番号なしリスト) の要素型と子要素として配置できる要素、及び利用できる属性を提示し、ul要素における基本的な構造について明示しています。HTMLを解釈するソフトウェアに依存することになります。例えば、lynx という代表的なテキストブラウザでは、第一見出し要素 (h1要素) をセンタリングして出力します。HTTP を解釈するソフトウェアに依存しています。HTML を解釈し、画面に出力します。DTD は、あくまで利用される要素の仕様に関する規格であり、出力には影響しないことになっています。HTMLコーディングであっても DTD の種別で表現が異なるのは歴然たる事実です。DTD によって無視されたりする場合があり、作者は混乱するばかりです。DTD による HTML の表現サンプル (すべて同じ構文)DTD を使った場合の方が、比較的標準に近い出力をするようです。サンプルはほんの一部しか用意しませんでしたが、多様な要素によっていろいろと弊害があるようです。border-style属性です。以下は、その枠線の形式の値を示したものです。| solid | 直線 | 実際のサンプル |
| dashed | 破線 | 実際のサンプル |
| dotted | 点線 | 実際のサンプル |
| double | 二重線 | 実際のサンプル |
| groove | 立体的に窪んだ感じの線 | 実際のサンプル |
| ridge | 立体的に隆起した感じの線 | 実際のサンプル |
| inset | 立体的に要素ごと窪んだ感じの矩形 | 実際のサンプル |
| outset | 立体的に要素ごと隆起した感じの矩形 | 実際のサンプル |
p { border-top- style: double }
border-width属性です。枠線の太さを指定する値はスタイルシートで利用できる単位と、あらかじめ定義されている値があります。この属性を使う場合には、border-style属性と合わせて使う必要があります。| thin | 細い線 | 実際のサンプル |
| medium | 中くらいの太さ | 実際のサンプル |
| thick | 太い線 | 実際のサンプル |
| 数値+単位 | 2pt (2ポイントの太さに指定する枠線) | 実際のサンプル |
p { border-top-style: solid
border-top- widt: thin }
border-color属性を使います。なお、この属性を利用する場合、あらかじめ border-style属性を指定する必要があります。| 16進数 | RGB による16進数の色指定 (緑) |
緑色 #009900 |
| 色名 | 16色のカラーネームから色を指定する (紫) | 紫色 purple |
p { border-top-style: solid
border-top- color: purple }
border-top: 色 太さ 形式;
border-top --------- 要素の上側border-left -------- 要素の左側border-right ------- 要素の右側border-bottom ------ 要素の下側
span { border-bottom: 3px double #069 }
border属性です。この属性は、上下左右の枠線を同時に行うものです。
span { border: medium solid #900 }
padding属性を併用するようにします。
span { border: medium solid #900; padding: 2px }