WZ editor manual

WZエディタ・マニュアル


[戻る]





          INDEX



■ HTML


Webページとは何か? とか、HTMLとは何か? といったことは、市販の参考書を読むなり、参考サイト(神崎正英氏の「30分間HTML入門」など)を見るなりして、各人が独学してもらいたい。

とりあえず、筆者の職場で有志が作った初心者用Webページ作成マニュアルに、上記サイトの要約が記載されているので、引用すると――。

  1. HTMLは文書の構成パーツを「要素」として(タグによって)マークアップする。
  2. HTML文書はhead要素とbody要素で構成され、headとbodyの両要素を合わせたものがhtml要素になる。html要素にはマーク付け言語情報を書く。
  3. head要素の中に、分かりやすいtitle要素を書く。文字コードも必要ならここでmeta要素を使って示す。
  4. body要素(本文)は段落(p要素)と見出し(h1〜h6要素)で構成され、必要に応じてリスト(ul, ol, li要素)を使って情報を見やすく整理する。
  5. ハイパーリンクはa要素を使う。
  6. 強調するところはem, strong要素で示し、画像が欲しければimg要素を使う
  7. 文書にはaddress要素で署名する。本文と署名のように役割が異なるセクションはhr要素で区切るとわかりやすい。

以上、The Web KANZAKIの「30分間HTML入門」より


● スタイルシート


これと合わせて、スタイルシートについても、付言しておく。
「スタイルシート(css =cascading style sheet)」は、1994年に発案され、1996年に最初の仕様書「css 1」が作られた。
W3Cの発足が 1995年だから、HTML の初期から、構想されていた、と考えてよいだろう。その後、1998年に「css 2」が勧告され、2005年の現時点でも、これが、ごく一般に使われている。(厳密に云うと、css とは、HTMLに対するスタイルシートの最も一般的な記述言語の1つであるが、ここでは、ほぼ同一のもの、として扱っている)。

スタイルシート(css)の書式は、次の通りである。

セレクタ { プロパティ: 値 ; }

「セレクタ」とは、HTMLでの「タグ」に相当し、「プロパティ」とは「属性」に相当する。
こうした用語を、しかも同じHTML関係なのに、別な言葉を使うのは感心しないのだが、今のところ適当な訳語がないため、カタカナ表記される。
各要素の宣言は、半角英数字で記述し、プロパティの後は「:(コロン)」、1つの宣言(値まで)の後は「;(セミコロン)」で区切る。
実際の記述例としては――、

h1 { color: #FFFFE0 ; }

――のようになる。

HTML とスタイルシートとの関係性を、簡単に云うと、本質的に表現力がない HTML を補完して、そのレイアウトやデザインに相当する仕様を、スタイルシートが担当している、と思えばいい。
小難しくいうと、HTML タグは、Webページの論理構造を記述し、スタイルシートは、その表現構成を記述する、とも云える。

スタイルシートを使うことによって、ページのデザインをHTML から切り離し、しかも複数ページのそれを、1個のファイル(=css ファイル)で記述し、かつ運営することが可能になった。1枚のスタイルシートを書き換えることで、複数のページを、一度に、そのデザインを一新することも出来るのだ。
これは、Webデザイナーにとっては、非常に便利かつ、効率的なシステムである。

抽象的なことを、くだくだしく云ってても仕方ないので、具体的に、では、何が出来るのか? というと、たとえば、テーブルタグによる凝ったレイアウトでもしない限り、普通のHTMLでは、行間指定が出来ない。だが、スタイルシートを使えば、これが(簡単に)可能になる。

例えば、このページでは、フォントを「15 pt(ポイント)」に、行間を「150%」に指定している。
詰めて書かれたページで、しかもテキスト主体だと、非常に見づらいものだが(最近のブラウザは、かなり賢くなり、そうしたページでも、適当に行間を開いて表示してくれるようになったのだが、それでもスタイルシートによる指定がないと、視認性は劣る)、この指定によって、かなり見やすくなっている(はずである)。

本当は、多種多様なユーザごとに異なる環境に対応するには、絶対表示であるポイント制などではなく、相対表示がいいのだが、異なる環境における動作確認をするためには、別なマシンが必要だし、それは面倒なので、こうしている。15吋のCRT画面だと、大きすぎて見づらいかも知れない。

試しに、行間指定を「無し」にした文章を、比較のために、表示してみよう。
以下に、このページを記述中にボツにした文章を、スタイルシートでの行間指定なし(行間「100%」指定に相当)、の設定で記述してみる。



筆者は、長いこと、スタイルシートを使わず、しかもそのWebサイトは、出来る限り画像を排し、テキストオンリーでやってきた。
ずいぶん以前から、知り合いには、スタイルシートの使用を強く奨められていたのだが、面倒くさいのと、取っつきが悪い(なんとなく、筆者が苦手なプログラムに近いものを感じていた)ので、あえて、使おうとはしなかったのだが、現在では、トップページ以外では、使うように努めている。
しかし、トータルにWebデザインを考え、全てのページを1枚のスタイルシートで表現しよう、といった考えはない。そのような緻密な思考回路に向いていないのと、メンドくさがりなので、サイト全体の見直しなど、今さら、やってられない、という感じである。
だから、本来のスタイルシートの使い方である、1枚の外部シートによって、サイト全体のデザインを決定する、といった使い方はしていない。1ページごとに、ページ内にスタイルシートを記述している。
まあ、そのことで困ったこともないので、当分は、今のままで行くだろう。
しかしながら、これからHTMLを学ぼうとする人は、筆者のようなことはせずに、きちんとスタイルシートの原則を知って、それなりの使い方をしてもらいたい。



どうだろうか? かなり、鬱陶しい印象を与えるのではないか。
短い文章ならともかく、これが延々と100行以上も続くと、読むのをブン投げるユーザも出るだろう。
メールなどでも、そうだが、PCの画面上で読むしかない文章は、出来るだけ、段落ごとに改行して空白行を入れた方が、視認性は向上する。
繰り返すが、HTMLだけでは、上記のようにしか、表現できないのだ(これを回避するための、テーブルタグによるレイアウトというのは、裏技に近いものであり、今でも商業Webデザイナーは、かなり頻繁に、これを使ってはいるが、けしてW3Cが推奨する正規の表現方法ではない)。スタイルシートを加えるだけで、こうした窮屈さから逃れられる。

また、企業サイトではなく、個人のWebページであろうとも、読んでもらわなくては、意味がない。だからこそ、視認性が求められるので、スタイルシートによって、それが向上するなら、それに越したことはないだろう。
少々、面倒でも、またWebデザイナーでない個人であっても、今現在、この使用をためらうことは無益だと思われる。
そこで、まず、HTML本体の前に、スタイルシートについて述べることにする。


このページのトップに戻る

● スタイルシートの作例


ソースを見れば判ると思うが、筆者のWebページにおけるスタイルシートは、かなり長いものが多い。だが、これは、元になったページからコピーして使い回ししているためであり、そこに記述している全部の要素が必要だ、というわけではない。

必要かつ充分なスタイルシートとは、要するに、フォントサイズと行間指定だけだろう。
あとは、W3Cが「将来的に廃止予定につき、非推奨(deprecated)」としているタグなどの代替表現である。
とは云っても、フォント指定などで、今でもなお、W3Cが非推奨にしているタグは平気で使われている(それも、プロのWebデザイナーが作成した企業サイトでも使われている)ので、そう気にすることはない。

さらに云うと、必ずしも、最新のデザインは汎用性が高いとは云えない。
つまり、世の中には、古いマシンやOS、そしてその上で動作するブラウザもオールドファッションドなものが未だに使われていることが結構、多い。
IE の ver.3.0 はさすがにないかも知れないが、Netscape Navigator の ver.4.5 あたりは、場所によっては、現役である。

マシンや環境の違い、ということも考慮に入れなければならない。
確かに世界のOSのシェアの9割はWindowsかも知れないが、Macユーザもいれば、UNIX(Linux を含む)ユーザもいる。その上で動作するブラウザとして、IE 6.0 なんて、ないのが実情である。また、レガシーフリーでヴァージョンアップしてゆくMacでは、新しいOSに古いソフトが付いていかないこともあり、ソフトに引きずられて、新OSを導入できない、というユーザもいる。勢い、未だにNetscape Navigator 4.5 が現役、といった状況が発生する。

もちろん、通常は(商業Webデザインの世界では)、こうしたユーザを無視してWebページは作られているし、作っても構わないと思う。
必ずしも、いつも新しいものが良い、とは云わないが、そこまで面倒みきれない、というのも事実である。
未だにMac上で、Netscape Navigator 4.5 やIE 5.0 を使っている人を想定して、Webデザインをやろうとしても、どだい、動作確認のためのマシンが、大半のユーザの手元にないため、事実上、それは不可能な話だ。
割り切って、自分の環境で複数のブラウザ――IE 6.0 とMozilla FireFox あたり――で動作確認すればOKだろう(Mozilla とは、旧Netscape のオープンソース開発グループであり、FireFox は、2004年11月にリリースされた、その公式にして最新のブラウザである)。


だから、スタイルシートは、極端に云えば、基本的に、以下の記述だけでもいい。

<STYLE TYPE="text/css">
   <!--
body {background-color : "lightcyan"; color : "black";} p.txt{font-size : 15pt; line-height:150%;} --> </STYLE>

上記のスタイルシートで、ページ本文は――、
body {background-color : "lightcyan";」という指定によって、
背景色が「ライトシアン(=淡い水色)」(つまり、このページで使われている色)に指定され、
color : "black";}」によって、
ページ内のフォント色が「黒」に指定されている。

また、段落タグは、「p.txt{font-size : 15pt;」によって、
フォントサイズが15ポイントに指定され、
line-height:150%;}」によって、
行間が「150%」に指定されている。

スタイルシートの記述書式として、前後を宣言文の「<STYLE TYPE="text/css">」と、「</STYLE>」で囲むことになっている。
また、スタイルシートを認識しないブラウザもあるため、スタイルシートの箇所だけ、どのブラウザでも不可視にするよう、ネスト(入れ子)にして、さらに「<!--」と「-->」で内側に囲んでいる(HTMLでは、「<!--」のように、タグ冒頭に「!」がある要素は、コメント行と見なされ、不可視となる)。
各セレクタ(タグに相当)のプロパティ(属性に相当)とその値は、「;(セミコロン)」で繋げて、複数、記述することが出来る。

さらに、一般的に、スタイルシートの記述では、同じセレクタのプロパティは、1行で続けて記述するより、プロパティごとに改行して、その際、インデント(行頭揃え)を行うことが多い。上図の「body」と「p」要素のプロパティを参照。
理由は、当然、その方が見やすいからで、インデントは、半角スペースないし、タブを使って行う(筆者は、半角スペースを使っている)。
オートインデント機能をオンにしていると、インデントした行の次の行も、自動的にインデントされるので、それほど面倒な作業ではない。
これらに規則などなく、単に、視認性のために行っていることなので、方法は、各人の自由だが、沢山の項目を指定して、複雑になると、スタイルシートは(後で見直す時などは、特に)判りにくいものなので、やっておいた方がいいと思われる。

ここでは、スタイル要素の指定を、「class=" "」形式(クラスセレクタ)で記述しているが、「id=" "」形式(ID セレクタ)もある。この場合、スタイルシートと本文内での記述の書式が異なってくる。なお、「id セレクタ」は表現として、「class セレクタ」に優先するが、同一のHTML文書内で、そこに記述された 「ID属性値」は、同じ値を複数の要素に指定できない。すなわち、1つの要素(タグ)についてしか記述できない、というデメリットがある。混在して書く時は、注意が必要であるが、一般的に、「ID 属性」は1つの要素を特定するために使い、「クラス属性」は複数の要素で使う、と憶えておくといいだろう。

このあたりは、ややこしいので、ここでは「class=""」形式だけで通す
筆者も実作では、多く「class=" "」形式を使っている。だが、くわしくは、各人、参考書を読んでもらいたい。

また、筆者は、(ボディタグ以外の)セレクタをクラス分けして、デフォルトのタグ以外に、複数の指定をするようにしている。
つまり、「p {font-size:15pt; line-height:150%;}」といった書式はしない。必ず、上図のように、クラス分けをしている。
1つのタグの指定にクラス分けをせず、つまり、そのタグをデフォルトで使うと、全て、そのスタイルシートが適応される、という方法は、(ボディタグ以外の要素では)止めた方が無難である。
クラスセレクタで、用途別に指定した方が柔軟性があるし、間違いも少なくなる。
特に段落タグの「<p>」などは、同じページ内で、さまざまな使い方が考えられるので、クラス分けした方がよい、と思われる。

なお、ここでは判りやすく、フォント色や背景色を、直接、カラーネームで指定しているが、対応してないブラウザのために、出来れば、(事典を参照して)16進法で記述した方がよい。赤や黒など、基本的な16色だけは、IE をはじめ、大抵のブラウザでも対応しているが、それ以外の色名は、W3Cでは、保証されていないからである。ちなみに、最初の記述例に挙げた「#FFFFE0 」は色名では「lightyellow」を表す。

また、これらのスタイル要素は、ヘッダ要素内の、タイトル要素(<title> 標題</title>)の後に記述するのが普通である。
タイトル要素は、通常、1行ですむから、スタイルシートは、その直後の、「</head>」の直前に記述することになる。

さて――。
この2つの指定だけで、デザイン上、かなりな違いが出てくる。
段落タグの指定範囲内では、従来までのキツイ行間「100%」は、ゆったりしたものとなり、いくつかの廃止予定の非推奨タグ(フォントタグやボディタグの背景色など)が、代替表示されている。
とりあえず、ビギナーがWebページを実作するに当たって、これだけの指定で充分だと思われる。

もっとも、W3Cの「deprecated=廃止予定の非推奨タグ」とは云っても、現在、それが使われないか、というと、そうでもなく、実際には、結構、便宜的に使用されている。
特に「<FONT COLOR="色名">」といったフォント色の指定属性のタグなどは、カラーグラデーションといった裏技には不可欠なので、未だに、よく使われる。
要は、ケースバイケースで、最終的に、W3Cの勧告が奏功するに至るまでには、非推奨タグも、しぶとく生き延びるのだろう。

なお、付言しておくと、HTMLでの色指定は、絶対的なものではない。環境によっては全然、違う色になる。ブラウザがスタイルシートに一部未対応なNetscape Navigator 4.x などは論外としても、ディスプレイの差(CRTか液晶か)や、その解像度・輝度の設定によっても異なる。自分の現在の環境だけで動作確認して安心していると、思わぬ陥穽におちいることがあるので、留意されたい。これは、カラーネームで記述しようが、16進法で書こうが同じである。

上記のスタイルシート(これは、内部に実装してもよいし、外部シートに記述して、ページにリンクしてもよいが、ここでは、判りやすく、ページ内に記述する形式をとる)で、指定されたプロパティ値を、実際には、どのようにページ本文に指定するか、というと――。

(背景色と、フォント色は、すでに決まっているので、問題ないが、段落タグ(セレクタ)の「<P>」のプロパティとその値は、ページ本文のタグ内で、別途、個別に指定しないと、有効にならない)

以下のように記述する。

<P class="txt">
ここから本文。
…………<BR>
…………<BR>
ここまで本文。
</P>

もちろん、強制改行の「<BR>」は、必要がなければ、記述しなくても構わない。
ブロックレベル要素である、「<P>」と「</P>」で、本文を囲めば、その前後に自動的に空白行が入るので(だから、段落タグ、というのだが)、その中で改行する必要がなければ、一連の文章を、段落タグ内に収める形で書いていって、問題はない。
ただし、あまり長い文章は、画面を見るユーザには苦痛なので、適当な区切りで空白行を入れ、視認性を高めた方がよいだろう。

ともあれ、こう記述することによって、上記の「本文」は、スタイルシートの指定が応用され、フォントサイズは15ポイント、行間は 150% で表示される。

しかしながら、面倒なことに、フォントサイズに関しては、その指定の仕方が沢山ある。
絶対指定でも、「pt (=ポイント)」「px(=ピクセル)」、相対指定では「em (=文字の倍率)」と、合計3つ。加えて相対指定で「より大きい」を意味する「large」や「より小さい」を意味する「smaller」などがあるし、「% (=パーセンテージ)」で表示も可能だ。

ブラウザには、フォントの大きさを変える機能があるのだが、通常、ユーザは、見るWebページごとに設定を換えたりはしない。相対指定は、だから絶対指定より融通が効くが、ある条件下では、逆に非常に見づらくもなる。だが、これらは、もう好みの問題と云えるだろう。どちらがベストだ、とは云えない。

とにかく、どれか1つ知っていれば、それで充分だと思うので、とりあえず、ここでは、ワープロソフトなどとも整合性のある「pt : ポイント」で通すことにする(Photoshop 等のユーザは、「px : ピクセル」 が親しみやすいかも知れない)。各人、参考書を読むなりして、好きな書式で書いてもらいたい。

ただ、1つだけ注意。これらの指定は「統一」しておいた方がよい。ポイントとピクセル、またパーセンテージを、特に同一のセレクタ内や、同種類のセレクタ群の中で、混同して使うと、ブラウザによっては、不具合が生じる可能性がある。どれか1つに決めてもらいたい。
(同じセレクタ内でも、フォントサイズにポイントを、行間指定にパーセンテージを使っても、それは混同ではない)

このページのトップに戻る




△ Literacy  ▲General Index
<< Prev      Next >>




Last Updated: 2007.05.07