Web上の静的コンテンツは基本的に、HTMLとCSSから構成されています。
HTML (HyperText Markup Language) では文章そのものと、その文書構造 (論理構造)を指定するタグ”<tag>”から構成されています。一方で装飾はHTMLには含めずに、CSSと呼ばれるカスケードスタイルシート(Cascading Style Sheets)に書くことが推奨されています。そして実際のサイトの作成・管理の観点からも、HTMLファイルと外部ファイルのCSSを使い分ける方が便利で、SEOの観点からも、HTMLには装飾は含めずに、文書構造のみにした方がよいでしょう。
HTMLとタグ
さてHTMLとは、「タグ」というものを文章の中に埋め込んで(マークアップして)、文章の構造をコンピューターにわからせるためのファイル形式(表記方法)です。タグは “<” と “>” で囲まれた半角文字からできています。
例えば、見出し(ヘッドライン・headline)を表すときは、<h1>見出し</h1>のように見出しの内容をタグで囲みます。見出しは大きな見出し(1番目の見出し)から順に、<h1>、<h2>、<h3>、・・・と、6番目まであります。
段落(パラグラフ・paragraph)は、以下のようになります。
<p>ここは段落です。そしてなんちゃらかんちゃら・・・ それでもって、ここまでが段落です。</p>
このように<p>と</p>で囲みます。このように文章の構造を表す「タグ」は、「開始タグ」と「終了タグ(閉じタグ)」の2個セットで用います。
箇条書き等を書くときは、リストを使います。番号付リスト<ol>と番号無しリスト<ul>があります。他にも取り消し部分を表す”<del>”タグ(delete)、追記・挿入箇所を表す”<ins>”タグ(insert)等があります。他にも表<table>などがあります。
このように、HTMLでは、文章がどのような構造になっているかを、機械にわからせるためのファイルになっているんですね。
装飾(デザイン)を指定するCSS
さて、文章の構造を表すのがHTMLでしたが、見た目のデザインを指定するのがCSSです。
例えば、2番目の見出しは青色で、フォントサイズは24ポイントで、背景は白にする場合は、次のように表記します。
h2 {
color: blue;
font-size: 24pt;
background: white;
}
たったこれだけで、<h2>タグは全て、このデザインになります。
外部CSSファイルを使う場合、HTMLファイル内には、「この外部ファイルのCSSファイルを読み込んでください」ということを意味するタグを書きます。このタグはたった1行ですみます。全部のページを同じデザインにする場合、用意するCSSファイルはたった1ファイルでO.K.なんです。これが外部CSSファイルの一番の強みです。
現在ではHTMLファイル内に装飾目的のタグを入れることは非推奨となっていますが、昔はそのような装飾目的のタグを入れることが多用されていました。その頃のコードは、例えば以下のような感じでした。
<h2><font size="4" color="blue">見出し </font></h2>
いちいち、<h2>タグが出てくるたびに、その中に入れ子構造で<font>タグを入れていました。しかも、背景色は指定できません。こんなこといちいち打ち込むのって、とっても大変ですよね。それが、ただ単に<h2>と</h2>で囲むだけで、全ての<h2>に適用できるわけです。とっても便利だと思いませんか?
部分部分で装飾を変える場合
でも、部分部分で装飾を変えたい!ってこともありますよね。それも、HTMLとCSSを使ってできます。「class」と「id」を使うことにより実現できます。例えば、この段落だけは文字の色を変えたいという場合は、次のように書きます。
HTMLでは
<p class="red" >この段落だけは、文字の色を変えることにします。そのために、classに「red」を指定しました。</p>
CSSでは
p.red {
color: red;
}
このように、個別に装飾を変えることもできます。classで指定した場合は「p.red」のようにタグの後ろに間を空けずにドットを挟んでクラス名を書きます。idで指定した場合は、「div#content」のように、タグの後ろに間を空けずにシャープを挟んでアイディー名を書きます。
内側のタグを一括で指定
他には、ページの上部に並ぶ各ページへのリンクの部分と、本文中のリンクとで、色を変えたいってこともあるでしょう。そういう場合は、外側のタグに指定したclassやidを使って指定することもできます。
例えば、ページ上部のリンクを囲む<div>タグに「page_top」というidを指定している場合、その内側のリンクのタグ (<a>タグ) に、一括して指定することができます。
HTML
<div id="page_top">
...
...
<a href="http://hogehoge.jp/site.html">サイトについて</a>
<a href="http://hogehoge.jp/html.html">HTMLについて</a>
<a href="http://hogehoge.jp/css.html">CSSについて</a>
...
...
</div>
CSS
#page_top a {
font-size: 12pt;
color: green;
}
このように、あるidやclassのタグの内側に入っているタグを一括して指定する場合は、外側のclassやidを書いて、スペースを空けてから、後ろに内側に入っているタグを書きます。classのときはクラス名の前に「.」を付けて、idの場合はアイディー名の前に「#」をつけます。
とまあこんなわけで、CSSを使えば、とっても便利にデザインを作っていくことができるんですね。便利なこともあって、HTMLで装飾を行うことは廃れて、今ではHTMLと外部ファイルCSSが主流になっています。またSEOの観点からは、HTMLファイル内がシンプルな方がよいとされています。SEOの観点からも、余計なことはHTMLファイル内には書かずに他のファイルに書いちゃいましょうってことです。