最初に
ホームページを作成する人は、本来は難しい知識を得なければなりません。
HTMLの構文の知識やタグの正しい使い方などです。
しかし、一方にはホームページビルダーなどを使って、全く知識を持っていない人がサイトを公開しています。
車を運転するのに、車の構造を理解する必要はないだろう。そんな勉強をする時間があったら、別な事をやるよと言うのが彼ら(無知な人)の言い分でしょう
車の場合は、車に無知な人は車が壊れても右往左往するだけですし、定期点検にでも出しておけば、そんなに危険な目には巡り合わないでしょうから、何とかなるかも知れません。
ホームページの作成の場合は、本人がそれで満足していれば良い事ですし、どんなにつまらないホームページを公開していたとしても見る人が居ないだけで周りの人の迷惑にはなりません。
だいそれた事(CGIなどを使って高度な表現をする)さえしなければ、周りが迷惑するような問題が起きる場合は少ないと思います。
難しい事は専門家に任しておけば良いのではないかと言うのが、現代社会の物の考え方の主流になっています。
私は人の生き方に口を挟むつもりはありませんし、口を挟むべきではないでしょうが、こんな生き方は嫌いですし、すべきではないと思っています。
日本では子供の虐待がやたら多いのも、根本には親になる資格のない人間が子供を作るからではないかと思っています。
知らない間に子供が出来たので、仕方なく子供を育てていると言うのでは、虐待に走る親がいても不思議はありません。
動物でも、自分の子供を虐待しながら育てているのを見かけませんから、動物以下の人間のやる事でしょう。
私には無知な人(何も考えないで行動する人)ほど恐ろしい存在はないと思っているのですが、こんな人がどんどん増え続けています。
HTMLのDTD宣言
DTDとはDocumet Type Definitionの略で文章型定義のことです。
DOCTYPEスイッチの仕組みを簡単に説明すると、HTML文章の先頭に「DOCTYPE宣言」をしなかった場合、古いバージョンのブラウザの表示に合わせるといったものです。一般的に古いブラウザに合わせて表示する事を [ 互換モード ] W3Cの使用に合わせて正しく表示する事を [ 標準準拠モード ] といいます。
- 古いブラウザに合わせて表示する事を [ 互換モード ]
- W3Cの使用に合わせて正しく表示する事を [ 標準準拠モード ]
HTML 4.01 <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”> |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
互換モード |
互換モード |
互換モード |
互換モード |
互換モード |
互換モード |
HTML 4.01 <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
HTML 4.01 <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Strict //EN”> |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
互換モード |
HTML 4.01 <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Strict //EN” |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
XHTML 1.0 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
XHTML 1.0 <?xml version="1.0" encoding="文字コード"?> |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
互換モード |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
XHTML 1.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
XHTML 1.0 <?xml version="1.0" encoding="文字コード"?> |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
互換モード |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
XHTML 1.1 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN” |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
XHTML 1.1 <?xml version="1.0" encoding="文字コード"?> |
|||||
IE7 | IE6 | Firefox | Opera | Safari | MacIE5 |
標準準拠 |
互換モード |
標準準拠 |
標準準拠 |
標準準拠 |
標準準拠 |
CSSによる段組(マルチカラム)
CSSで段組レイアウトを実現するには、大きく分けて2つの方法があります。
- float を使う
- position を使う
それぞれに利点と欠点がありますが、ここでは float プロパティを利用した段組の作り方を説明します。
meta要素とは何か?
meta要素とは、ウェブページの性質や管理情報などのウェブページ自体の情報であるメタデータを指定するための要素だ。meta要素の属性では、メタデータのプロパティ名、値、形式などを指定できる。著作者やキーワードなどをメタデータのプロパティ名として、プロパティ名に対する実際の情報を値に記述する。これらの情報はもちろんbody要素の内容としても書けるが、それでは閲覧者は理解できてもユーザーエージェントは理解できない。meta要素は、ブラウザやロボットなどのユーザーエージェント自身も理解できる形で様々な情報を提供したり、その動作を指示したりできる要素なわけだ。といっても、積極的に利用されてるメタデータってのはそんなにないけどな。
meta要素の属性
下記以外に、汎用属性のlang属性とdir属性が使用可能だが使うことはまずないでしょう。
- name="メタデータのプロパティ名"
- name属性には、author(著作者名)、keywords(キーワード)、description(ページの要約)などの、メタデータのプロパティ名を指定する。content属性と組み合わせて様々な情報を提供できる。
- http-equiv="HTTPヘッダ用のプロパティ名"
- メタデータをHTTPヘッダとして送信したい場合は、name属性ではなくこの属性を使用する。この属性は、サーバにHTTPヘッダとして送信するよう指示するが、対応しているサーバは少ないようで、実際はUA(ブラウザ)側がこの要素の内容をチェックし、それなりの動作をしている模様。
- content="メタデータの値"
- name属性あるいはhttp-equiv属性と一組で使用し、メタデータのプロパティ名に対する値を指定する。
- scheme="値の形式"
- メタデータの値を正しく解釈するための情報を記述する。これもあまり使わないと思われる。
記述方法
meta要素はhead要素の子要素としてのみいくつでも記述できる。基本的に、meta要素の属性で、メタデータのプロパティ名と値を一組として指定する。メタデータのプロパティ名には、メタデータの値が示すものは何かを記述し、値にはそのプロパティ名に対する実際の情報を記述する。例えば、ウェブページの著作者を記述する場合は下記のようになる。
<meta name="author" content="Teal">
例ではname="author"
でメタデータのプロパティ名は著作者であると指定し、content="Teal"
でその値は Teal と指定している。
種類と記述例
meta要素で指定できるメタデータのプロパティと値の組み合わせにはどんなものがあるのか…。実は特別に定義されていない…というか、誰でも自由に定義していいらしい(もちろん、HTTPヘッダの場合はHTTPヘッダとしての正しい書き方ってのがある)。しかし、自由に定義していいと言っても、UAがそれに対応していなければ意味はない。そんなわけで、主に、現時点でよく利用されているか利用されていなくてもよく見かけるものと、指定しておいた方が良いプロパティの種類と記述例を書いておく。
ブラウザ向けの情報
- 表示言語文字セット
<meta http-equiv="Content-Type" content="text/html;charset=Shift-JIS">
ウェブページを表示する際の文字セットを指定する。日本語の文字セットは、Shift-JISの他に、iso-2022-jp、EUC-jpなどがあるが、Shift-JISを指定しておけば問題ないだろう。文字セットを明示的に指定していないと文字化けの原因になることがあるので、文書内で日本語が現れる前に指定する必要がある。できれば、head要素の開始タグ直後に指定しておきたい。
- ページを自動的にリロードさせる
<meta http-equiv="refresh" content="10">
値で指定した時間(例では10秒)が経過すると、そのページを再びロードするよう、ブラウザに指示する。すべてのブラウザでサポートされている機能ではないが、代表的なブラウザならまず問題ない。
- 違うページを自動的にロードさせる
<meta http-equiv="refresh" content="10; URL=ロードさせるページのURL">
値で指定した時間(例では10秒)が経過すると、URLで指定したページをロードするよう、ブラウザに指示する。すべてのブラウザでサポートされている機能ではないが、代表的なブラウザならまず問題ない。
- ページ切り替え時に効果をつける
<meta http-equiv="発生時期" content="RevealTrans(Duration=動作時間,Transition=効果の種類)">
IE4.0以降では、トランジションフィルタという独自機能を利用して、ページ切り替え時にウィンドウ全体にビジュアル効果をつけることができる。"発生時期"には、Page-Enter(ページの読み込み)、Page-Exit(ページの終了)、Site-Enter(サイトの読み込み)、Site-Exit(サイトの終了)のいずれかを記述し、効果の発生時期を指定する。"動作時間"には、効果の開始から終了までの時間を秒数(最大30秒)で指定する。動作時間が短か過ぎると効果が見えないが、長過ぎると閲覧者を待たせることになってしまうので、2〜3秒が適当だろう。"効果の種類"には、数字で 0 から 23 までのいずれかを記述し、発生させるトランジションを指定する。
実際に使用する際は下記のように記述し、head要素内のなるべく上の方で指定した方がいい。下の方で指定するとうまく動作しないことがあるからだ。下記の例では、ページを読み込んだ時に Circle in、ページを終了した時に Circle out の効果をそれぞれ2秒間つけるように指定している。IE4.0以降以外の、この機能をサポートしていないブラウザはこの情報を無視するだけなので、ページのアクセントとして使用するの良い。ただし、ページ切り替えの度に効果がつくのは鬱陶しいので、サイトの読み込みと終了の時くらいにしておきたい。あるいはトップページのみとか。
<meta http-equiv="Page-Enter" content="RevealTrans(Duration=2,Transition=2)">
<meta http-equiv="Page-Exit" content="RevealTrans(Duration=2,Transition=3)">トランジションの種類と値は下記の通り。サンプルの動作時間はすべて2秒。サンプルページで効果を確認できるのはIE4.0以降のみです。
トランジション名 値 説明とサンプル Box in 0 四角くフェードイン/アウト Box out 1 Circle in 2 円くフェードイン/アウト Circle out 3 Wipe up 4 上下カーテン Wipe down 5 Wipe right 6 左右カーテン Wipe left 7 Vertical blinds 8 左から/上からブラインド Horizontal blinds 9 Checkerboard across 10 左から/上から格子状ブラインド Checkerboard down 11 Random dissolve 12 ランダムノイズ Split vertical in 13 中開きカーテン横 Split vertical out 14 Split horizontal in 15 中開きカーテン縦 Split horizontal out 16 Strips left down 17 左下/左上方向へカーテン Strips left up 18 Strips right down 19 右下/右上方向へカーテン Strips right up 20 Random bars horizontal 21 縦/横の棒状ノイズ Random bars vertical 22 Random 23 0 〜 22 からランダム
検索エンジン向けの情報
- ウェブページの要約
<meta name="description" content="要約">
ウェブページの要約となる説明文を記述する。説明文の長さは全角80文字程度までが適当。検索エンジンによっては検索結果にこの説明文が表示されるものもある。検索サービスの利用者はこの説明文をアクセスの判断基準とする場合があるので、分かり易く魅力的で正しい説明文にすることが肝心。
- ウェブページのキーワード
<meta name="keywords" content="キーワード1,キーワード2,キーワード3">
ウェブページのキーワードとなる語句を半角のカンマ”,”で区切って必要なだけ書く。検索エンジンによってはキーワードを指定することによって、検索結果に積極的に反映させることができる。キーワードは、body要素内に実際に記述してあるものを書く。それ以外のキーワードを書いたり、同じキーワードを何度も繰り返し書くと、ウェブページ自体を検索の対象から外されることもある。また、キーワードの数があまりにも多いとキーワードを無視される場合もあるので注意しよう。なお、キーワードは出現順に重要視される傾向がある。
- 検索ロボットへの巡回指定
<meta name="robots" content="そのページの登録指定,そのページからの巡回指定">
検索エンジンのロボットに、そのページの検索エンジンへの登録と、そのページからリンクしているページへの巡回を指定する。"そのページの登録指定"には、INDEX(登録を許可する)、NOINDEX(登録を許可しない)、のいずれかを記述し、"そのページからの巡回指定"には、FOLLOW(巡回を許可する)、NOFOLLOW(巡回を許可しない)、のいずれかを記述する。meta要素でこれを指定しない場合は、ロボットは自動的に全ページの登録及びリンク巡回を行う。
ウェブページ自体の情報
- 著作者名
<meta name="author" content="著作者名">
サイト名、本名、ペンネーム、ハンドル、会社名、店名など、好きなように。たまには役に立つこともある。
- 著作権
<meta name="copyright" content="Copyright (c) 2003 Teal">
パクリや無断転載に対して多少の牽制にはなるかな…。
- ウェブページ作成ソフト名
<meta name="generator" content="ウェブページ作成ソフト名">
市販ソフトがよく勝手に書いてくれる。いらんちゅうの!
ウェブページの性質
- ウェブページのサービス提供対象範囲
<meta name="coverage" content="サービス提供対象範囲">
ウェブページで扱っている商品やサービスを提供する対象となる範囲を指定する。世界中が対象なら worldwide、日本国内であれば Japan と記述。
- ウェブページの地理的対象範囲
<meta name="Targeted Geographic Area" content="地理的対象範囲">
ウェブページが対象とする地理的な範囲を指定する。日本が対象であれば Japan、アジアが対象であれば Asia と記述。
- ウェブページのカテゴリ
<meta name="classification" content="カテゴリ名">
ウェブページが属するカテゴリを指定する。general, business, computers, entertainment, internet, miscellaneous, personal などを記述。
- ウェブページの閲覧対象年齢層
<meta name="rating" content="閲覧対象年齢層">
ウェブページが対象とする利用者層を指定する。全ての年齢層が対象であれば general、子供向けであれば child、大人向けであれば adult、子供が見ても良いと特に指定したいなら safe for kids などと記述。