初心者のためのホームページ作り_83.txt 100666 0 0 40736 10013576030 15701 毎週金曜日配信 What's New 2004/1/30 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ┏┏┏┏ 初心者のためのホームページ作り/Web for beginner ┏┏┏ http://www.scollabo.com/banban/ ┏┏ ┏ <第83号> banban@scollabo.com □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 当講座は、初心者や中級者が正しい文法と作法を身につけて、プロ級の本格的 な Webページ作成に役立つことを目的に配信されております。 当講座では HTML4.01、XHTML1.1、XML1.0 を中心とした文法が主体となってい ます。なお、このマガジンは等幅フォントでお読みいただくと快適に読めるよう になります。 今週のコンテンツ ■ JavaScript講座 第16回 --- windowオブジェクト ■ CSS講座 第4回 --- 色を扱い ■ インターネット用語解説 第5回 --- FAQ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆JavaScript講座 windowオブジェクト 今回よりオブジェクトについて順次解説します。JavaScriptを学ぶ上でオブジ ェクトは欠かすことができません。JavaScriptがオブジェクト指向の簡易的なプ ログラム言語であるため、オブジェクトを理解することは、JavaScriptのプログ ラミングを理解することに通じます。 ■オブジェクト JavaScriptでは、多くのオブジェクトをあらかじめ持っています。オブジェク トを利用することで、時間や日付、ページや文字列、複雑な計算などを扱うこ とができ、ユーザの操作によって反応するインタラクティブな表現を実現する ことができます。 オブジェクトにはあらかじめ、メソッドやプロパティを持っており、作者は オブジェクトをどのように扱うのかを、そうしたメソッド、プロパティを利用 してプログラム開発を行います。 ■メソッド メソッドとは、ごく簡単に言うと一種の命令と考えてください。つまり、各オ ブジェクトが持っている自身に対する操作のことを指します。 オブジェクトを理解する上で、オブジェクトが持つメソッドを理解すること はとても大切なことです。複雑なプログラムを組むことなく、メソッドを記述 することで、オブジェクトを操ることができます。 ■プロパティ プロパティとは、オブジェクトが持つ「属性」を意味し、プロパティを利用す ることで、オブジェクト自身があらかじめ持っている機能や部品などをコント ロールすることができます。 ◆Windowオブジェクト windowオブジェクトは、JavaScriptのオブジェクト階層の最上位に位置し、画 面上に表示されているすべてのオブジェクトの親となるオブジェクトです。 様々なオブジェクトは、この windowオブジェクトの下位層に位置しています。 JavaScriptでは、windowオブジェクトの、「window」を省略して記述すること ができます。 ■windowオブジェクトのメソッド alert 警告のダイヤログボックスを表示する blur 現在表示中のウィンドウを背面に移動する clearInterval setIntervalで設定したタイマーを解除する clearTimeout setTimeoutで設定したタイマーを解除する close 現在表示中のウィンドウを閉じる confirm 確認ダイヤログボックスで真(ture)か、偽(false)の値を参照 focus 背面にあるウィンドウを前面に移動する moveBy ウィンドウの表示位置を指定した座標に移動させる moveTo ウィンドウの表示位置を指定した距離まで移動させる open 新たなウィンドウを開く prompt 入力ダイヤログボックスを表示し、入力値を値として取り込む resizeBy 現在のウィンドウサイズを指定した分だけ変更させる resizeTo 現在のウィンドウサイズの幅と高さを変更する scroll 現在表示中のページの指定した位置までスクロールさせる scrollBy 現在表示中のページの指定した位置までスクロールさせる scrollTo 現在表示中のページの指定した距離までスクロールさせる setInterval 一定時間毎に処理するタイマーの設定 setTimeout 一定時間後に処理するタイマーの設定 windowオブジェクトメソッドの記述法は以下のとおりです。 オブジェクト名.メソッド(引数); window.alert('警告ウィンドウの表示'); windowオブジェクトでは、オブジェクト名の省略ができるので、 alert('警告ウィンドウの表示'); と記述することができます。 ■windowオブジェクトのプロパティ defaultStatus ステータスバーに表示されるデフォルトのメッセージ status ステータスバーに表示中のメッセージ name 表示されているウィンドウ名を参照する opener 新たに開かれたウィンドウから見た親ウィンドウを参照 length ウィンドウに表示されるフレームの総数を取得する closed ウィンドウが閉じられていた場合に真、開いていた場合には偽 を返す windowオブジェクトのプロパティの記述法は以下のとおりです。 オブジェクト名.プロパティ=値; 書式は以下のとおりです。 windows.status="ステータスバーにメッセージ"; ◆windowオブジェクトを使ったJavaScript 閲覧者の操作で開かれた新しいウィンドウを、時間経過によって自動的にその ウィンドウを閉じるスクリプトです。
<ご注意> このJavaScriptでは、別途「samp.html」という名前のHTML文書が必要です。 適当なHTMLを作成し、この文書と同じディレクトリ(フォルダ)に置いてくだ さい。該当するファイルがないと自動的に閉じられません。 サンプルの実行結果 http://www.scollabo.com/banban/magazine/mm/sample_83-1.html ◆解説 ここでは、windowオブジェクトが持つ3つのメソッドを利用して、新たに開か れたウィンドウを 10秒後に自動的に閉じる JavaScriptです。 ■function newWindow() { 関数を定義しています。この関数名は newWindow() となっており、HTMLでは、 イベントハンドラ(イベント属性)を使って、関数を呼びます。 ■newWin = window.open("samp.html","NewWindow","width=300,height=80"); 新しく開くウィンドウの内容を設定しています。ここでは新たに開かれるウィ ンドウ内に表示する文書を samp.html という HTML文書を指定しています。 ウィンドウの横幅を 300ピクセル、高さを 80ピクセルとしました。 なお、指定した文書が見つからないとウィンドウは閉じられません。 ■setTimeout("closeWin()",10000); タイマーの設定をしています。ここでは10秒が経過したら closeWin() という 関数を実行します。なお、1秒は 1000 となりますので、自由に数値を変えて タイマーの時間を調整してください。 ■function closeWin() { closeWin() という名の関数を定義しています。 この関数では、指定された関数によって開かれたウィンドウを閉じます。 ■ input要素は単独でも利用できます。ただし、古い Webブラウザでは無視され る場合がありますので、その場合には、form要素の中で配置してください。 type属性で、入力フィールドをボタンに設定しています。ボタンに表示される 文字は value属性で指定します。 onclick属性とは、イベント属性の1つで、ここではボタンがクリックされた ら JavaScriptで定義された newWindow() という関数を呼びます。 ◆windowオブジェクトのまとめ windowオブジェクトでは、現在表示されているウィンドウを含めた、ウィンド ウ全体をオブジェクト(モノ)の対象としています。 windowオブジェクトの中には、閲覧者が嫌がる傾向のメソッドが含まれてい ます。例えば断りなく新しいウィンドウを開くとか、うざったい警告ウィンド ウとか、ステータスバーにメッセージを流すとか、迷惑なスクリプトを実に簡 単に作成することができます。 JavaScriptが万人に受け入れられるよう、最低限のマナーを守りながら、創 意あふれる自由で独自のスクリプトを作るように心がけましょう。 次回は(いつになるのか分かりませんが)、documentオブジェクトについて 解説する予定です。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆CSS講座(第4回) --- 色を扱う スタイルシートで扱える色は、24ビットのフルカラー(1677万色以上)になり ます。恐ろしい数ですが、どんな環境でも再現できる色は 216色しかありませ ん。その点を含めて、色について解説します。 ■文字色と背景色の関係 高齢者の方は、明るい光を好みません。最近の統計によれば2人に1人、つま り50%以上の人たちが目に異常を持っており、その多くが「白内障」です。 その障害をもつと、明るい光は目が痛く感じられます。ご存知のとおり、コ ンピュータのモニターで描画される文字や背景、様々なドキュメントは光の3 原色によって色が作られています。 つまり、文字であれなんであれ、モニターに映し出されるすべては光である ということを覚えてください。その光が明るすぎると、高齢者にとって辛い状 況に陥ります。 WindowsOS では、「ユーザ補助」という機能が備わっており、これを「オン」 にすると画面全体が暗くなります。高齢者にとっては目に優しくなるわけです。 実は Webブラウザにも同じ機能を持っています。自分なりに文字色や背景色 を設定する機能が備わっています。非常に多くの人たちが利用しています。 前置きが長くなりました。これからが本題です。 W3C (World Wide Web Consotium:Webの標準化を制定する団体) では、文字色 を指定する場合には、一緒に背景色も指定するように推奨されています。 文字色を黒色にしたとき、先ほど説明したとおり、閲覧者側で背景色を黒色 に設定した場合には、文字を読むことができなくなります。 同様に、背景色を指定した場合にも、文字色を同時に指定する必要が出てき ます。せっかく作り上げたコンテンツが、環境によって読めなくなるのは、作 者も閲覧者も悲劇というものです。 ■Webセーフカラー スタイルシートを使うということは、HTMLの文書構造からビジュアルデザイン を分離するという基本的な考え方があります。その最大の理由は、閲覧者の環 境に依存しない正しいマークアップに他なりません。 そうした考え方を踏襲すれば、閲覧者の環境に依存しない色を使うことには スタイルシートを利用することと何ら変わるものではありません。読者の皆様 には、是非、色を扱うう際には Webセーフカラーという閲覧者の環境に依存し ない色を使っていただきたいと考えます。 Webセーフカラー・カラーパレット一覧 http://www.scollabo.com/banban/lectur/websafe.html ■スタイルシートの色の指定 色を扱う場合の基本が16進数の記述です。16進数では、赤緑青という順序で色 を指定します。発色の度合いが高いほど数値も高くなります。 #000000 何も発色しない → 黒色 #ffffff 全部が発色 → 白色 #ffff00 赤と緑が発色 → 黄色 このようにして、色を決めていきます。 ところで Webセーフカラーでは、f、c、9、6、3、0、という数値だけしか扱 えません。しかしこれを組み合わせることで 216色が使えるようになります。 スタイルシートの場合には Webセーフカラーも含め、3桁で色を指定するこ とができます。なお、この指定は Webセーフカラー以外の指定も行うことが可 能で、全部で4096色を扱うことができます。 スタイルシートで、スタイルを設定する属性とその値はコロン「:」で区切 りますが、複数の属性と値を設定する場合には、セミコロン「;」で区切るこ とにより幾つでも記述することができます。セミコロンの前後には自由に空白 文字(半角かタブキーのみ有効)を配置できます。 #000 → 黒色 赤緑青それぞれを1桁ずつで記述 書式: p { color: #000; background: #fff } (段落 p要素の範囲の文字色を黒色に、背景色を白色に指定) スタイルシートでは RGBによる指定も可能です。その引数には以下のように 記述します。 書式: p { color: rgb(0,0,0); background: rgb(255,255,255) } これは、16進数の色指定を10進数に変換して指定する方法です。f は 256番 目の色であるため 255とします。コンピュータは 0 から数えますので、255は f と同じ値を持ちます。この記述では、24ビットフルカラーが扱えます。 また、色をパーセントでも指定することができます。この場合は 0 〜 100 となりますので、全部で 100万色が指定できます。 書式: p { color: rgb(0%,0%,0%); background: rgb(100%,100%,100%) } ■色を扱うことの注意点 この講座で何度となく述べてきましたが、色を扱う際にはその配色に配慮して ください。文字色と背景色の配色がうまくないと、コンテンツを読めなくなる 可能性があります。 明るい色の背景色で、明るい色も文字色では「ステルス効果」になってしま い、文字を読み取ることができません。また、色弱障害者は赤系色と緑系色の 区別が上手く行われません。このような点にも配慮して色を使うようにしてく ださい。あまり色に頼ったページにならないように気をつけましょう。 次回はスタイルシートで扱う単位について解説します。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆インターネット用語解説 --- FAQ 多くの商用 サイトでは、この FAQなるものを提示しています。これは「よくあ る質問」という意味の「Frequently Asked Question」からきた略語です。 製品やソフトウェアなどを紹介するページでは、トラブルに関する情報が満載 されています。そのことは消費者にとって、非常に有益な情報となります。 皆様が Webサイトを構築するときに、関連した情報として、困ったときや分 からないこと、あるいは閲覧者から寄せられた質問などから、特に多い問題点 などを集め、コンテンツとして提供することができれば、信頼感と親しみやさ を演出することができます。 最近は掲示板の人気も急増していますが、困ったときに探しやすいという点 では、FAQの右に出るものはないでしょう。 作者自身が便利だと感じるものから掲載すると、案外作業がはかどることで しょう。もっと FAQは活用されてもいいのではないかと考えます。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆更新情報 当メールマガジン「第71号」から「第80号」までを圧縮ファイルにしました。 自由にダウンロードすることができます。特に、新しく読者になられた方には、 オフラインでゆっくり読むことができますので、ご利用ください。 なお、圧縮ファイルはプラットフォーム環境ごとに用意していますので、あな たの環境に合わせてご利用ください。バックナンバーで利用している文字符号は 「Shift_Jis」を採用しています。 アーカイブファイル・ダウンロード http://www.scollabo.com/banban/daf/archive.html □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 今回はここまで、ではでは・・ 今週のおさらいは Webページにも掲載しましたので、是非見ておいてください。 Webページでは HTML文の実行結果のサンプルもあり、より分かりやすく説明して います。あわせて過去の記事のおさらいも掲載しています。 (今週のおさらい) http://www.scollabo.com/banban/magazine/review_082.html 次回は、2月6日に配信を予定しています。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 質問・ご意見ははこちらまで→ banban@scollabo.com なお、ご質問の際には、あなたがお使いのOS、ブラウザ、テキストエディタな ど、なるべく分かりやすく制作環境を明記していただけると回答しやすくなると 思います。 ただし、個人的な事由により返事が遅れることがあります。ご了承ください。 お急ぎの場合には、当サイト内の掲示板をご利用ください。きっと誰かが答えて くれると思います。 発行者 ばんばん 協 力 スズキ・コラボレーション http://www.scollabo.com/ 配信エンジン まぐまぐ http://www.mag2.com/ (ID 0000090196) 誤字・脱字・変換ミス・表現欠乏などには、平にご容赦願います。 バックナンバー こちらで公開しています。 プレーンテキスト http://www.scollabo.com/banban/magazine/magazine.html 各号のおさらい http://www.scollabo.com/banban/magazine/ アーカイブ http://www.scollabo.com/banban/daf/archive.html まぐまぐの過去記事 http://backno.mag2.com/reader/Back?id=0000090196 配信の変更・中止はこちらです。 個別の手続きは受け付けていませんので、ご面倒でも各自でお願いできれば助か ります。 当サイトにて http://www.scollabo.com/banban/magazine/top.html まぐまぐにて http://www.mag2.com/m/0000090196.htm □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ <えでぃた〜ず・る〜む> 新たなコンピュータウィルスが猛烈な勢いで広まっています。くれぐれも不 用意にメールに添付された意味不明のファイルを開かないように注意してくだ さい。 もしかしたら、私のメールアドレスを利用してばら撒いているかもしれませ んが、私のほうから皆さんに一歩的にメールすることはありませんので、くれ ぐれも誤解なきよう。 かく言う私は、インフルエンザ・ウィルスに感染し、激しい高熱とのどの痛 み。吐き気に悩まされています。当地は乾燥が激しく、ウィルスが生息するの には格好の季節となっています。 読者の皆様も、うがいやビタミンCの摂取を日頃から積極的に行ってくださ い。病気になっても、いい事は何もありません、辛いだけです。トホホ・・ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆著作権について 個人がご自分のPCに保存して利用する以外の記事の転載、引用は基本的に応じ ておりません。記事中の内容について、無断で使用することを固く禁じます。 なお、記事中のスタイルシート、HTML、JavaScriptなどをご自分のページ作成 に自由に使っていただいても差し支えありません。 Copyright(C) 2002-2004 www.scollabo.com/banban/ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 初心者のためのホームページ作り_89.txt 100666 0 0 45731 10031200060 15672 毎週金曜日配信 What's New 2004/3/19 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ┏┏┏┏ 初心者のためのホームページ作り/Web for beginner ┏┏┏ http://www.scollabo.com/banban/ ┏┏ ┏ <第89号> banban@scollabo.com □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 当講座は、初心者や中級者が正しい文法と作法を身につけて、プロ級の本格的 な Webページ作成に役立つことを目的に配信されております。 当講座では HTML4.01、XHTML1.1、XML1.0 を中心とした文法が主体となってい ます。なお、このマガジンは等幅フォントでお読みいただくと快適に読めるよ うになります。 今週のコンテンツ ■ Webデザイン 第31回 --- ブログの維持 ■ HTML講座 第31回 --- 文書型定義 (DTD) の不思議 ■ CSS講座 第10回 --- 枠線 ■ 属性の解説(第14回) --- target属性 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆Webデザイン(第31回) ブログの維持 大流行している「ブログ:Weblog」ですが、実際に毎日情報を発信するのは大 変なことです。「ブログを公開したからには、毎日書くぞ!」と張り切ってい る方も少なくないと思います。 私も、個人的な偏見に満ちたブログを公開していますが、決して毎日書いて いるわけではありません。思いついた日に思いついたことを勝手に書いている だけです。 毎日何かを発信し続けるのは、どうしても自分自身が消耗するのではないか と考えたことがありました。 しかし、考えてみれば「ブログ」が登場した背景は、9.11以降の何も言えな くなったアメリカの社会で、「それはちがうだろう!」という、ともすると反 社会的な意見を持った「勇気ある」人たちから始まったのです。 当時のアメリカは、テロという共通の敵に対する翼賛的な体制になりつつあ り、新聞やテレビなどのマスコミが政府に対して何も言えない状態でした。何 か反論すると「テロに味方するのか」という見方をされ排斥されました。 そうした中で、「こりゃ違うんじゃないの?」という疑問をもった知識人た ちが「本音」で語るツールとして「ブログ」が注目されました。 日記という形で自分の本音をコンテンツとして発信したブログは、こうした 背景の中で爆発的に流行し、1つの文化として定着しつつあります。 ■長く続けられるということ ブログは、その仕組みから他のブログにトラックバックを発信することで、大 きな輪となって広がっています。それは閲覧する人にとっても有用な情報を簡 単に探せるという利点も併せ持っています。 ブログを開設するということは、そうした大きなうねりを持った輪に参加す るのと同じです。だからこそ、じっくりと練りこんだ発言を発信し続けたいも のです。 発信続けることは決して「消耗」することにはなりません。何かを発言する ということは、それなりの裏づけがあるわけです。そして、書き続けることに よって書き方のコツがつかみ取れるし、持続することによる「力」がついてき ます。 これは Webサイトの運営でも同じことです。持続することで成長することが あります。とにかく Webという広大な空間に向かって発信するわけですから、 何ごとも真剣で、真正面から取り組みたいものです。 (第32回 SEO対策につづく) □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆HTML講座 (第31回) 文書型定義 (DTD) の不思議 不思議なことに、HTMLがまったく同じ構文なのに、文書型定義によっては異な る表現をします。それは何故でしょう? ■文書型定義とは 文書型定義を一言で述べれば、作成するHTML文書の仕様を定義するものです。 つまり、記述されるHTMLが、どのバージョンに準拠しているかを明示的に宣 言します。本来ならば Webブラウザは記述された文書型定義を参照し、その仕 様にしたがってレンダリングすべきものですが、実際は Webブラウザが実装し ている仕様にしたがってレンダリングするのが実情です。 そのため、HTML文書はブラウザ固有の仕様によって異なる表現になることが あります。 具体的な相違は、親要素の設定を継承しないとか、あらかじめ定義されてい る文字の大きさや、余白、位置の不具合などが報告されています。 1.HTML4.01 Transitional 互換型 この文書型定義は、それ以前のバージョンで定義された要素や属性など を使うことができる過渡期仕様の互換型で、DTDを参照する URI は含ま れません。 互換型の文書型定義は以下のように記述します。 2.HTML4.01 Transitional 標準型 Transitional互換型と同様に、以前の要素、属性などを使うことができ ます。この宣言は、その仕様を参照する URI が含まれます。 基本的に Webブラウザは、その仕様を参照してレンダリングすること となっていますが、銘柄によってはそれを無視することがあります。 標準型の文書型定義は以下のように記述します。 3.HTML4.01 Strict 互換型 この文書型定義は「厳格仕様」として、以前の要素や属性を使うことが できません。あくまでも HTML4.01 として定義された要素と属性しか使 えません。以前のタイプを「非推奨」扱いとしています。本来の理想と する構文を示すものです。DTDを参照する URI は含まれません。 HTML4.01 Strict 互換型の文書型定義は以下のように記述します。 4.HTML4.01 Strict 標準型 Strict互換型同様、以前の要素や属性を使うことができません。 この宣言は、その仕様を参照する URI が含まれます。 基本的に Webブラウザは、その仕様を参照してレンダリングすること となっていますが、銘柄によってはそれを無視することがあります。 HTML4.01 Strict 標準型の文書型定義は以下のように記述します。 5.HTML4.01 Frameset 互換型 フレームを利用する場合に限って、この文書型定義を宣言しなければな りません。仕様は、Transitional型と同じ以前の要素と属性を使うこと ができます。DTDを参照する URI は含まれません。 HTML4.01 Frameset 互換型の文書型定義は以下のように記述します。 6.HTML4.01 Frameset 標準型 Frameset互換型同様に、フレームを利用する場合にこの文書型定義を宣 言します。この宣言は、その仕様を参照する URI が含まれます。 基本的に Webブラウザは、その仕様を参照してレンダリングすること となっていますが、銘柄によってはそれを無視することがあります。 HTML4.01 Frameset 標準型の文書型定義は以下のように記述します。 ■継承とは、 継承について具体的に説明すると、 文字色 基本的に親要素の文字色が子要素にも継承される 文字サイズ 基本的に親要素で設定された文字サイズが継承され、子要素で 文字サイズが設定された場合には、親要素で設定された文字サ イズの比率となる 例えば、body要素で指定された文字サイズは、他の要素で文字サイズを指定 しなかった場合には、親要素の文字サイズが継承されます。子要素で文字サイ ズを指定した場合 (例えば 90%とした場合) 親要素の文字サイズを基本とした 比率にならなければなりません。 ところが、文書型定義を変えることによって Webブラウザはそれぞれの銘柄 で異なるふるまいをします。 以下のファイルを見比べてください。微妙に異なることに注意してください。 HTML4.01 Transitional 互換型 http://www.scollabo.com/banban/magazine/mm/sample_89-1.html HTML4.01 Transitional 標準型 http://www.scollabo.com/banban/magazine/mm/sample_89-2.html HTML4.01 Strict 互換型 http://www.scollabo.com/banban/magazine/mm/sample_89-3.html HTML4.01 Strict 標準型 http://www.scollabo.com/banban/magazine/mm/sample_89-4.html 当然 OS や Webブラウザの銘柄が異なれば、それぞれのレンダリングも変化 します。 比較的新しいブラウザでは、文書型定義を参照する URI の有無で、異なる 場合があります。例えば、Windows版、及び Macintosh版 MSIE の場合、互換 型と標準型で文字サイズのレンダリングに相違があります。 結果から申し添えれば、HTML Transitional を使う場合には、概ね標準型の レンダリングに好感が持てます。 なお、文書型定義を宣言しない場合、仕様書では HTML 2.0 として扱うよう に規定されています。HTML文書では、その冒頭で必ず文書型定義を明示的に宣 言しなければなりません。正しいHTMLを作成するためにもお忘れなく。 XHTMLの場合には、XML宣言の有無でも Webブラウザによっては、その振る舞 いが違ってきます。なかなか「標準」となるブラウザを探すのは容易ではない ようです。 次回は、アクセシブルなテキストの表現について解説します。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆Tips 文書型定義の統一 サイト内で登録されているすべてのページでは、特に意味がなければ同じ文書 型定義を宣言するように心がけましょう。今回説明したとおり、文書型定義の 種別によっては異なる表現をします。 ページを繰るたびに違う表現というのはあまり心地よいものではありません。 文字サイズや余白、継承といった様々な要素の中で、それらが変化するという 文書型定義の性質を考慮して、統一性のあるページを作成することが大切なこ とではないかと考えます。 文書型定義の種別によって異なるレンダリングという弊害は避けられないも のです。作者の意図とは異なることが多々あるのが実情です。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆CSS講座(第10回) 枠線表示 末梢線や下線表示を含まないものとして、HTMLで枠線が表示できるのは、基本 的にテーブル要素だけです。その他の枠線指定に関する要素や属性は、すべて 独自規格であるため、環境によっては無視されることがあります。 スタイルシートでは、ブラウザ画面に表示するすべての要素で、様々な形式 の枠線を設定することが可能です。インラインレベルでも、ブロックレベルな どの要素に、簡単に枠線を設定することができます。 枠線を指定するとき、枠線の形式、色、太さといった3つの属性が用意され ており、それぞれを個別、あるいは一括で設定することができます。 ■枠線の形式 枠線の形式とは、枠線の表現を示すもので、単純な直線や破線、点線などの形 式を指し、スタイルシートでは、border-style属性で設定します。 枠線を指定するために、あらかじめ以下のような8つの形式が用意されてい ます。 solid 直線 ( ― ) dashed 破線 ( -- ) double 二重線 ( = ) dotted 点線 ( … ) groove 立体的に窪んだ感じの線 ridge 立体的に隆起した感じの線 inset 立体的に要素ごと窪んだ感じの矩形 outset 立体的に要素ごと隆起した感じの矩形 border-style属性で形式を指定する方法は、上下左右を個別で、あるいは、 一括で設定します。なお、枠線の色や太さはブラウザ依存となります。 □枠線形式を個別で設定 上下左右の枠線形式の指定は以下のとおりです。 botder-top-style 上側の枠線形式を指定する botder-left-style 左側の枠線形式を指定する botder-right-style 右側の枠線形式を指定する botder-bottom-style 下側の枠線形式を指定する □枠線形式を一括で指定する 上下左右の枠線形式を一括で設定する方法です。 border-style 上下左右に指定した形式で枠線を表示する □具体的な書式 枠線形式を設定する具体的な書式は以下のとおりです。 p { border-bottom-style: dotted } 要素の下側に点線の枠線を設定 p { border-style: solid } 要素の上下左右に直線の枠線を設定 ■枠線の太さ 枠線の太さを指定する場合、同時に枠線形式を併用する必要があります。形式 が設定されない場合、枠線そのものを表示することができません。 枠線の太さは、border-width属性を使いますが、それぞれ個別に設定するこ とができます。 □枠線の太さを指定する単位 枠線の太さを指定するとき、以下の単位を使います。 thin 細い枠線 medium 中くらいの太さの枠線 thick 太い枠線 数値+単位 スタイルシートで扱う単位で太さを指定する thin、medium、thick などの実際の太さは、ブラウザに依存します。 数値と単位を組み合わせた太さは、それぞれの単位に依存します。 □枠線の太さを個別に設定 上下左右の枠線の太さの指定は以下のとおりです。 border-top-width 上側の枠線の太さを設定する border-left-width 左側の枠線の太さを設定する border-right-width 右側の枠線の太さを設定する border-bottom-width 下側の枠線の太さを設定する □枠線の太さを指定する具体的な書式 前述したとおり、枠線の太さを指定する場合は、border-style属性を一緒に 用いる必要があります。 h1 { border-style: solid; border-left-width: 2em } p { border-style: dashed; border-bottom-width: medium } ■枠線の色 枠線の色を指定する場合には、同時に、border-style属性を指定する必要があ ります。もし、その属性を指定していない場合には、枠線は表示されません。 □枠線の色を指定する単位 枠線に色をつける場合には、以下の3つの単位が指定できます。 16進数フルスペック RGBを2桁ずつで指定 (#ff9900 オレンジ色) 16進数の3桁指定 RGBを1桁で指定 (#f90 は #ff9900 と同じ) カラーネーム (色名) あらかじめ定義されている16色の色名で指定 □枠線の色を個別に指定 枠線の色は上下左右に個別で設定することができます。 border-top-color 上側の枠線の色を設定する border-left-color 左側の枠線の色を設定する border-right-color 右側の枠線の色を設定する border-bottom-color 下側の枠線の色を設定する □枠線の色を指定する具体的な書式 枠線の太さを指定する場合は、border-style属性を一緒に用いる必要があり ます。 h1 { border-style: ridge; border-left-color: green } p { border-style: solid; border-bottom-color: #09f } ■枠線の各設定を一括で行う 枠線は、要素の上下左右の位置や形式、太さ、色などを一括で指定することが できます。いちいち border-style、border-width、border-color などの属性 を個別に設定することなく行えます。 □各設定を位置を指定して一括で指定する 上下左右の位置を指定して、形式、太さ、色などを一括で指定します。 border-left 要素の左側に枠線を一括で設定する border-top 要素の上側の枠線を一括で設定する border-right 要素の右側に枠線を一括で設定する border-bottom 要素の下側に枠線を一括で設定する □各設定をまとめて指定する 上下左右にまとめて各枠線表示のスタイルを設定します。各設定の値は半角 のスペースで区切って、それぞれで指定します。 border 上下左右に枠線の太さ、色、形式を一括で指定します。 □一括設定の具体的な書式 この属性を使った設定には、border-style属性は必要ありません。 h1 { border-left: 2em solid #f90; border-right: 2em solid #f90 } p { border: thicl double #039 } ■padding属性を併用する方法 どのような方法で枠線を設定するにせよ、枠線とコンテンツに隙間がないのは 窮屈に感じます。そこで、前回説明した padding属性を使って、コンテンツに 余裕をもたせる方法があります。 p { border: 1ps solid red; padding: 2px } この設定は、段落要素のコンテンツに赤色の1ピクセル幅の枠線を表示させ るものですが、枠線とコンテンツの間に2ピクセル分の余白を設定しています。 このようにすることで、見やすい環境を提供することができますので、いろい ろとお試しください。 次回は、背景画像の設定について解説します。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆HTML、XHTML属性の解説 --- target属性 リンク先のページを指定したウィンドウで表示させるために用いられます。 特に、フレームを使ったページでは必須の属性になります。フレームがない 場合には、新規のウィンドウを開かせることが可能です。 ■target属性 リンク先の表示ウィンドウを指定する DTD: HTML4.01 Transitional、および Frameset で利用可能 属性値: フレーム名、 _top、 _blank、 _self、 _parent など 記述法: … 関連要素: a、area、base、link、form など XHTMLの制限: XHTML1.0 Transitional および Frameset で利用可能ですが、 XHTML1.0 Strict および XHTML1.1 では利用できません。 フレームを使うページでは、複数のウィンドウで構成されるため、各ウィンド ウで表示させるリンクには、target属性を使わなければなりません。また、フ レームを解除させる場合には、_top という値を使います。 _self の場合は、 同じウィンドウ内でリンクするときに用います。 フレームがないページでリンクをクリックしたとき、新しいウィンドウで表 示させているときには、target属性が使われ、_blank、あるいは _parentなど の値が指定されています。 どちらにしても、閲覧者のリソースを消費するだけなので、リンクはできる だけ同じウィンドウ内で設定したいものです。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 今回はここまで、ではでは・・ 今週のおさらいは Webページにも掲載しましたので、是非見ておいてください。 Webページでは HTML文の実行結果のサンプルもあり、より分かりやすく説明して います。あわせて過去の記事のおさらいも掲載しています。 (今週のおさらい) http://www.scollabo.com/banban/magazine/review_089.html 次回は、3月26日に配信を予定しています。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 質問・ご意見ははこちらまで→ banban@scollabo.com なお、ご質問の際には、あなたがお使いのOS、ブラウザ、テキストエディタな ど、なるべく分かりやすく制作環境を明記していただけると回答しやすくなると 思います。 ただし、個人的な事由により返事が遅れることがあります。ご了承ください。 お急ぎの場合には、当サイト内の掲示板をご利用ください。きっと誰かが答えて くれると思います。 発行者 ばんばん 協 力 スズキ・コラボレーション http://www.scollabo.com/ 配信エンジン まぐまぐ http://www.mag2.com/ (ID 0000090196) 誤字・脱字・変換ミス・表現欠乏などには、平にご容赦願います。 バックナンバー こちらで公開しています。 プレーンテキスト http://www.scollabo.com/banban/magazine/magazine.html 各号のおさらい http://www.scollabo.com/banban/magazine/ アーカイブ http://www.scollabo.com/banban/daf/archive.html まぐまぐの過去記事 http://backno.mag2.com/reader/Back?id=0000090196 配信の変更・中止はこちらです。 個別の手続きは受け付けていませんので、ご面倒でも各自でお願いできれば助か ります。 当サイトにて http://www.scollabo.com/banban/magazine/top.html まぐまぐにて http://www.mag2.com/m/0000090196.htm □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ <えでぃた〜ず・る〜む> このところ個人情報の流出が問題になっていますが、身近にある個人情報につ いては、あまりにも関心が払われていないような気がします。 私も自分の個人情報を、どんなところにバラ撒いているのかを考えました。 ガソリンスタンドで発行するサービスカード、自動車デーラー、病院の受診カ ード、大手家電店のポイントカード、病院、行きつけの床屋さん、ISP (プロ バイダ) 、オンラインショップ、銀行、不動産屋、その他数え上げるとかなり の数になります。 こうした中で個人情報がしっかり管理されていることに疑問を感じます。そ う思うとこれから先、そうそう簡単に申込書などに記入することに不安を抱き ます。イヤな世の中になりましたねぇ。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆著作権について 個人がご自分のPCに保存して利用する以外の記事の転載、引用は基本的に応じ ておりません。記事中の内容について、無断で使用することを固く禁じます。 なお、記事中のスタイルシート、HTMLをご自分のページ作成に自由に使ってい ただいても差し支えありません。 Copyright(C) 2002-2004 www.scollabo.com/banban/ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 初心者のためのホームページ作り_88.txt 100666 0 0 61471 10031200030 15665 毎週金曜日配信 What's New 2004年3月12日 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ┏┏┏┏ 初心者のためのホームページ作り/Web for beginner ┏┏┏ http://www.scollabo.com/banban/ ┏┏ ┏ <第88号> banban@scollabo.com □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ 当講座は、初心者や中級者が正しい文法と作法を身につけて、プロ級の本格的 な Webページ作成に役立つことを目的に配信されております。 当講座では HTML4.01、XHTML1.1、XML1.0 を中心とした文法が主体となってい ます。なお、このマガジンは等幅フォントでお読みいただくと快適に読めるよう になります。 今週のコンテンツ ■ JavaScript講座 第16回 --- documentオブジェクト ■ CSS講座 第9回 --- padding ■ インターネット用語解説 第6回 --- ブログ □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆JavaScript講座 --- documentオブジェクト documentオブジェクトは windowオブジェクトの下位階層に位置し、最も頻繁 に使用するオブジェクトで、画面上に表示されているページに関するあらゆる 情報(文字列、画像、フォーム、リンクなど)を扱います。 documentオブジェクトが持つメソッドとプロパティは以下のとおりです。 ■documentオブジェクトのメソッド clear 表示中のドキュメント内容を消去する close 表示ストリーム (openで開始したドキュメントの出力) を閉じる open 表示ストリーム (ドキュメントの出力) を開始する write ページに指定した文字列を表示する writeln ページに指定した文字列を表示して改行する このメソッドの中で、write と、writeln は同じ意味ですが、writeln は改 行を持って表示されているといわれています。ただし、一般的な視覚系ブラウ ザでは「改行」されず、そのまま出力されますので、基本的には、write と同 じ意味で解釈されます。 ■documentオブジェクトのプロパティ alinkColor 読み込まれたリンクの文字色を参照、または設定する anchors 現在表示されている全アンカーの内容を持つオブジェクトの配列 bgColor 背景色を参照、または設定する cookie ちょっとした情報を入れるための文字列型のオブジェクトを参照 domain ドメイン名を返す fgColor 文字色を参照、または設定する forms 現在表示されている全フォームの内容を持つオブジェクトの配列 lastModified 現在表示されているページの最終更新日を参照する linkColor リンクの文字色を参照、または設定する links 現在表示されている全アンカーの内容を持つオブジェクトの配列 location 現在表示されているドキュメントの URLを参照、または設定する referrer 移動先の呼び出した URLを参照する title ページのタイトルを参照、または設定する vlinkColor 訪問済みのリンクの文字色を参照、または設定する documentオブジェクトで、最も利用頻度の高いものがここに掲げたプロパティ ではないでしょうか。特に、最新更新日を参照したり、背景色の設定などで利 用されたりします。 プロパティは大文字と小文字を厳格に区別しますので、扱いに気をつけてく ださい。 ■document writeメソッドの使用例 documentオブジェクトが持つメソッドの中で、最も多く利用されているのが、 document.write (あるいは document.writeln) でしょう。 これは、テキストや静止画像を Webブラウザに出力するメソッドで、面白い ことに、HTMLタグさえ配置することができます。 具体的には、以下のように使います。 document.write("初心者のためのホームページ作り"); document.write("
");
その気になれば、このメソッドを利用してHTMLの全文を記述することができ
ますが、あまり現実的とは思えません。
HTMLタグを挿入する場合、終了タグの扱いに気をつけてください。終了タグ
では、 という構文を使いますが、環境によってはそれがスクリプトの終了
を意味することにもなりかねないので、ある種のエスケープが必要になります。
dcument.write("| 氏名 | 国語 | 数学 | 英語 | 歴史 | 小計 | 平均点 | 備考 |
|---|---|---|---|---|---|---|---|
| 平均点 | 54点 | 56点 | 60点 | 41点 | 210点 | 52.5点 | − |
| 田中さん | 60点 | 65点 | 73点 | 40点 | 238点 | 59.5点 | 追試 |
| 鈴木さん | 84点 | 46点 | 90点 | 68点 | 288点 | 72点 | 合格 |
| 中村さん | 48点 | 82点 | 55点 | 50点 | 235点 | 58.8点 | 追試 |
| ばんばん | 24点 | 30点 | 25点 | 5点 | 79点 | 19.8点 | 落第 |
| 氏名 | 見出しセルに「受験者」という概要を設定し scope属性によって、このセルの 下側のグループと関連付けています。 つまり、この列のセルには「氏名」という見出しと関連付けられます。ただ し、グループ化されていない場合には、単に col とします。 ■ 〜 フッタとなる横方向のセルをグループ化しています。この tfoot要素は、必ず thead要素の直後、tbody要素の直前で設定しなければなりません。 ■平均点 | このセルに識別子を設定しています。この識別子は他のセルの、headsers属性 で関連付けるものです。アクセシビリティの一環として設定しています。 scope属性の rowgroup という値は グループ化された横方向にあるセルと関 連付けるために指定しています。 グループ化されていない横方向のセルと関連付ける場合には、row と指定し ます。 ■54点 | このセルが、id属性で指定された識別子を持つ見出しセルと関連付けるために headers属性でその識別子を指定しています。 ここでは、id属性の値が average という識別子を持つ見出しと関連付けてい ます。この指定は、一般的に音声、あるいは点字ブラウザに配慮するために利 用されるものです。 ■ 〜 この要素で囲まれた範囲がテーブルのデータセル本体となります。HTMLの仕様 書では、テーブルを定義した場合、必ず tbody要素で囲まなければなりません。 ただし、thead、tfoot要素が指定されていない場合には、省略することが可 能となっています。その場合には Webブラウザが tbody要素を補完します。 以下省略 ◆まとめ テーブルをメールマガジンのようなテキスト中心で解説するには、ある程度の 限界があります。より理解を得るため、「今週のおさらい」ではサンプルと図解 で説明していますので参照してください。 テーブルをレイアウトに用いる方法については解説しませんでしたが、アクセ シビリティを考えると、別の方法で再現することをお勧めします。 「別の方法」については、講座を進める中で別途解説したいと思います。 次回は、文書型定義の不思議について説明する予定です。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆CSS講座(第8回) 余白(margin) 今回は、各要素で設定することが可能な「余白」について詳しく解説します。 ここで示す「余白」とは、要素の外側にある「何も表示されない領域」を指しま す。何も表示されないということは、背景色やテキストなどさえもその領域では 無視されるということです。 スタイルシートでは、こうした余白を「margin:マージン」という属性によっ て自由に設定することができます。 ■余白のコントロール 例えば、段落を示す p要素の場合、一般的な視覚系ブラウザでは、上下に1文 字分の空白をもって表現されます。見出しやリストなどのブロックレベル要素 では、このようにブラウザ側で余白を持たせています。 コンテンツを表現するとき、時にはこうした余白が必要ない場合があります。 そんなときにスタイルシートで、余白の有無や幅、高さを自由にアレンジする ことができれば、レイアウトデザインの自由度が広がります。 ■余白の設定 余白 (margin) は、要素の上下左右に設定することができます。margin属性は それぞれ個別に指定する方法と、まとめて設定する方法があります。 なお、余白を指定する「単位」は、当マガジン「第84号」で詳しく説明して いますので、そちらを参照してください。 □個別に余白を設定する margin-top 要素の上側の余白を設定する margin-left 要素の左側の余白を設定する margin-right 要素の右側の余白を設定する margin-bottom 要素の下側の余白を設定する 書式: p { margin-top: 0; margin-bottom: 2em } この設定は、段落の上側の余白を無し、下側の余白を2文字分です。 □まとめて余白を設定する margin: 単位 要素の上下左右を一括して余白を設定する margin: 単位 単位 要素の上下、左右の順で余白を設定する margin: 単位 単位 単位 要素の上、左右、下の順で余白を設定する margin: 単位 単位 単位 単位 要素の上、右、下、左の順で余白を設定する (この指定の場合、Mac版 MSIEでは正しく表現されない場合があります。) 書式: p { margin: 1ex 5% 1em } この設定は、段落の上側に x の文字の高さ分を、左右に 5%分を、そし て、下側に1文字分の余白を設定しています。 ■余白の効用 余白を自在にコンとルールすることにより、コンテンツの表現は飛躍的に洗練 されてきます。余白によって、コンテンツの位置まで設定できることさえ可能 になります。 視覚系ブラウザでレンダリングされるレイアウトデザインを設計するとき、 余白は非常に重要な位置をしめています。HTMLのタグだけでは、余白をコント ロールすることができません。 次回は、コンテンツの「内側の余白」について解説します。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆Tips --- body要素と margin と背景色の関係 通常、marginは、要素の外側に対して余白を設定するので、その要素に背景色 が設定されていた場合、marginの余白部分には、背景色は適用されません。 ところが、body要素だけは特別で、仮に body要素に marginを設定していて も、余白部分に指定された背景色が適用されます。 例: body { margin: 1em 6%; background: #ffc; color; #000 } このスタイルシートでは、body要素の外側の余白に、上下1文字分、左右に 画面の相対的な比率である6%を設定しています。 本来ならば、その余白には背景色は適用されないのですが、body要素では、 この余白に対しても背景色がレンダリングされてしまいます。いろいろな視覚 系ブラウザで試してみたのですが、ほとんどで同じでした。 body要素に余白を指定した場合には、このような「現象」があるということ を知っておいてください。 □□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ ◆HTML、XHTML属性の解説 --- enctype属性 フォームのデータを処理するプログラムなどに送信する際の「MIMEタイプ」を 指定します。 ■enctype属性 処理可能なプログラムに MIMEタイプを送信する DTD: すべての文書型定義で利用可能 属性値: MIMEタイプ 記述法:
|---|