2015年5月8日金曜日

WEB 第8回 HTMLとCSSの仕組み--2.CSSの基本

WEB 第8回 HTMLとCSSの仕組み--2.CSSの基本


読み方を間違いやすいHTMLタグやCSSタグ

HTMLタグの読み方辞典

http://www.coolwebwindow.com/cssref/html-tag-ref.html


今さら聞けない!読みづらいCSSプロパティの正しい読み方
http://creativememomemo.com/css_property_readings/



以下HTMLクイックリファレンスより引用


スタイルシートが必要な理由

現在、ウェブページを制作する言語として広く利用されているHTML4.01やXHTML1.0には、 <center>や<font>などの装飾目的の要素(タグ)や属性が存在しています。 また、<table>タグでレイアウトをまとめるなどの方法を駆使すれば、 HTMLだけでウェブページの見栄えを制御することもできなくはありません。
しかし、ウェブページのスタイリングにHTMLを用いるべきではありません。 
HTMLは情報構造を定義するための言語であり、見栄えの制御のために本来の役割とは違った使い方をすると、 文書の情報構造がでたらめになってしまうからです。 
コンピュータや検索エンジンに理解されないでたらめな文書構造になってしまえば、せっかくの情報もうまく活用されません。
また、HTMLの要素(タグ)をどのように表示するかは、ユーザーエージェント(ブラウザ)によって異なることがあります。 HTMLタグを駆使してある閲覧環境では見栄え良くレイアウトできたとしても、 他の閲覧環境ではまったく意図しないレイアウトになってしまうこともありえます。 

文書構造とスタイル指定を分離する

HTML4.01やXHTML1.0の仕様では、 HTML文書から見栄えに関する指定を分離することが望ましいとされています。 HTMLでは文書構造のみを定義して、 スタイルについてはスタイルシートで指定することが推奨されています。
HTML4.01やXHTML1.0では、センター揃えをする<center>、フォントの見栄えを指定する<font>などの装飾目的の要素や、 色・サイズ・ボーダーなどを指定する装飾目的の属性については非推奨(deprecated)とされながらも使用することができますが、 HTMLの次世代バージョンとなるHTML5では、 <center>や<font>などは 廃止される予定 となっています。
HTML文書にCSSを適用する


ポイント: HTMLは骨組み、CSSは装飾 




CSSを使用したWEBレイアウトの基本

(1)divボックスを作る
  方法A=HTMLソースに<div>〜</div>を直打ちする
  方法B=画面上のバー「挿入>レイアウトオブジェクト>Divタグ」
  
方法C=挿入パネルの「Divタグの挿入」
(2)divボックスに名前を付ける
  方法Aの場合=<div id="~">...</div>または<div class="~">...</div>と直打ち


idとclassの違い 

[id] =1ページ内で1つのみ

それぞれの要素は1つのidしか持つことが出来ません。
個々のページでそのidを使用した要素もまた、たった1つでなければなりません。
もし同じidを2つ以上の要素で使用すると、バリデーションチェックでエラーが出てしまいます。
例:バナー画像は1ページに1つしかないのでidで設定する


[class]
=1ページ内で複数

複数の要素で同じclassを使用することが可能。
複数のclassを同じ要素内で使用することも可能。
もしページ上で何度も使用されるスタイル設定ならば、classを使う。
例:ページの中で複数箇所を赤文字表示にしたい場合はclassで設定する。


  方法BCの場合
  =出てくるウインドウの指示に従って操作するとidやclass名をつける事が出来る
  

(3)名前を付けたdivボックスの設定を作る
 ・dreamweaver上でdivボックスを選択し、
  選択した状態でCSSスタイルのパネルの右下の
 「新規CSSルールのボタン」をクリック。

※Illustratorなどのような「文字や画像を自分が移動したい場所に配置する」
 という感覚ではなく、
 「文字や画像を入れたdivボックスのに余白をどう作るか」
 を使ってレイアウトする感覚で操作していくとわかりやすい。

内(がわの余白)=マージン margin
外(がわの余白)=パディング padding


3種類の方法で指定できるスタイルシート




1.外部スタイルシート

HTMLからCSSファイルを呼び出す方法

CSSファイルをHTMLファイル内で呼び出す方法を紹介する。
CSSファイルの呼び出しは<head></head>内に記述する。

CSSファイルの呼び出し – HTMLファイル

<title>タイトル</title>
<link rel=”stylesheet” href=”CSSファイルへのパス” type=”text/css” />
</head>
CSSファイルへのパスは相対パス、絶対パスのどちらでも良い。


2.head要素のスタイルシート

headタグ内への記述する方法

headタグ内への記述は以下の通り。今回h1タグに対して、margin:0(余白ゼロ)
とfont-size:3em(文字の大きさを3emにする)のスタイル指定をする。

head内でのCSSの記述例 – HTMLファイル

<head>
<title>タイトル</title>
<style type=”text/css”>
h1 {
margin: 0;
font-size: 3em;
}
</style>
</head>
この記述方法のデメリットとして、まず、SEOの効果が下がる事が挙げられる。これは、CSSファイルを呼び出す方法と比べてbodyタグの位置が下に来るからである。詳しくは関連記事を参考にしていただきたい。
他にも、「1つのファイルが長くなるため単純に見づらいコードになる」、「それぞれのHTMLファイルにいちいち記述しなければならない」などのデメリットが挙げられる。


3.インラインスタイルシート

それぞれの要素に対するスタイル指定する方法


今回は特定のpタグに対してcolor: red(文字色を赤)とfont-size: 20px(文字の大きさを20pxにする)のスタイル指定をする。


特定のpタグに対するCSSの記述例 – HTMLファイル

<p style=”color: red; font-size: 20px;”>
このpタグに対してスタイルを指定する。
</p>
この記述方法のデメリットとして、
「全てのpタグに手動で書かなければならず、変更の際に面倒」
「コードが見づらくなる」などが挙げられる。

できる限りHTMLからCSSファイルを呼び出した方が良いだろう。

※教科書ではHTMLからCSSファイルを呼び出す方法が使われています。
しかし、間違ってhead要素のスタイルシート や インラインスタイルシート
になってしまっている場合があります。
意図的に使い分けをする以外はHTMLからCSSファイルを呼び出すようにしましょう。






スタイルシート3種類の適用方法の練習

以下のHTMLコードをコピーしてstyle.htmlを作成し、
style.cssというファイルとリンクして
コード内の指示に従って色を設定しましょう。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>スタイルシート3種類の適用方法</title>
</head>

<body>
<div align="center" id="ichi">
  <p><br /> 
    <br /> 
    <br />
    <font size="18px">この文字を外部スタイルシートで#ff0000の色にせよ。</font></p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</div>
<div align="center">
  <p><br /> 
    <br /> 
    <br />
    <font size="18px">この文字をhead要素のスタイルシートで#00ff00の色にせよ。</font></p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</div><div align="center">
  <p><br /> 
    <br /> 
    <br />
    <font size="18px">この文字をインラインスタイルシートで#0000ffの色にせよ。</font></p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</div>
</body>
</html>

サンプル(回答例)
styletest.html
styletest.css