カテゴリー
HTML

HTML(Step4-3)

インターネットにデータをアップロード

HTML、CSS、画像の各ファイルの準備ができたら、サーバーにデータをアップロードしていきます。

具体的な手順はいかのようになります。

  1. レンタルしたサーバーのサイトにアクセスしてFTP情報を確認する
  2. FTPソフトの接続設定を行う
  3. FTPソフトからサーバーにアクセスする
  4. パソコン内に保存してある各ファイルをサーバーに転送する

アップロードに必要なもの

サーバーの準備

今回はお名前.comよりドメイン取得とサーバーをレンタルして設定していきます。自分のサーバーがある場合はそちらをお使いください。ドメインはあなたのホームページのアドレスになるので、自分のサイトに合ったものを取得しましょう。

FTPソフトの準備

FTPは、File Transfer Protocolの略で、インターネットを利用してファイル転送を行うための仕組みの総称になります。その仕組みに対応したソフトをFTPソフトと呼びます。

今回は「FFFTP」というソフトを使います。以下よりダウンロードできるので入れておきましょう。

https://forest.watch.impress.co.jp/library/software/ffftp/

FTP情報を確認する

FFFTPにサーバーへの接続情報を設定する必要があります。最初にお名前.comにアクセスして、「ホスト名」「ユーザー名」「FTPパスワード」などの情報を確認しましょう。

まずは、お名前.comにログインして、レンタルサーバーのページに飛びましょう。下の図のようにコントロールパネルにログインしましょう。

ログインできたら、以下のようなコントロールパネルのページが表示されるので、「FTP・SSHアカウント」を選択しましょう。

開くと、管理者アカウント接続状況が確認できると思います。ここで、「アカウント」「パスワード」「FTPサーバー名」の3つをメモしておきましょう。後々、必要になるので、間違えずに控えましょう。

FTTPを起動して接続設定

FTTPを起動すると以下のように画面が表示されるので、「新規ホスト」をクリックしましょう。

ホストの設定画面が開かれると思うので、先ほどの「アカウント」「パスワード」「FTPサーバー名」の3つを使うながら入力していきましょう。

①ホストの設定名

ここには任意の名称を入力します。どのサーバーかわかるように名前を決めておくとわかりやすいと思います。

②ホスト名(アドレス)

先ほどメモした「FTPサーバー名」を入力します。

③ユーザー名

先ほどメモした「アカウント」を入力します。

④パスワード/パスフレーズ

先ほどメモした「パスワード」を入力します。

入力が終わったら、OKを押して設定が完了します。

HTMLファイル他を転送する

設定が完了したら、サーバーにファイルを転送しましょう。下の図のように先ほど①で設定した名前が一覧に表示されるので、接続を選択しましょう。

接続が完了すると、下の図のように自分のPCにあるファイル等が左側に、サーバー側は右側に表示されます。

左側の自分のPC側から今回作ったフォルダを開きましょう。移動するファイル、フォルダを全て選択します。

選択したら、右クリックをアップロードを選択しましょう。アップロードが完了したら、右側のサーバー側にファイルが全て表示されていたら、サーバーに無事転送が終わったということです。

ホームページにアクセス

転送が終了したら、最後にブラウザで確認してみましょう。「http://」にサーバーをレンタルする際に取得したドメイン名を入力して検索しましょう。トップページである「index.html」が表示されていたら、ホームページの公開の完了です。

カテゴリー
HTML

HTML(Step4-2)

CSSファイル作成④

メニューページの設定

ブロックごとのスタイル

メニューページのメインコンテンツのスタイルを定義します。各ブロックの幅やマージンを設定し、左を基準に並べるのがポイントです。また、ブロックが4つ、入れ子の構造になっているので、気をつけましょう。

まずは、下の図よりメニュー画面の構造を確認しましょう。

メニュー品目のCSS

次にCSSのコード全体を確認してみましょう。追って各セレクタについて説明していきます。

/*メニューページ*/

#global_menu{
    width: 670px;
    float: left;
    margin-top: 30px;
    margin-right: 30px;
	}

#global_menu img{
	border: 3px #fff solid;
	}

.menu_box{
	width: 670px;
	clear:left; 
	}

.menu_block{
    width: 210px;
	float: left;
    margin-right: 13px;	
    margin-bottom: 10px;
    }
    
.menu_photo{
    margin-bottom: 10px;
    }
    
.menu{
	width: 210px;
	/*margin-right: 30px;*/	
    margin-bottom: 10px;
	}

.item_heading{
	font-weight: bold;
    margin-bottom: 10px;
    }
    
.price{
	font-size: 125%;
	margin-top: 5px;
	color: #ff0000;
    }

コンテンツ幅の設定

メニューページの基本設計を行った時に決めたglobal_menu、menu_box、menu_blockのそれぞれのコンテンツ幅を確認して、セレクタに反映させていきます。

global_menuとmenu_boxは670ピクセル

global_menuとmenu_boxセレクタは、メインコンテンツ幅の670ピクセルで指定しましょう。

#global_menu{
    width: 670px;
    float: left;
    margin-top: 30px;
    margin-right: 30px;
	}

.menu_box{
	width: 670px;
	clear:left; 
	}
menu_blockセレクタの幅とマージンを決める

menu_blockは、670ピクセルの中に3つ収め、それぞれにマージンを設定します。図にもあるように、次の計算で収まるようにしています。

「menu_blockの幅210ピクセル」×3+「menu_blockの右側マージン13ピクセル」×3=669ピクセル

.menu_block{
    width: 210px;
    float: left;
    margin-right: 13px;	
    margin-bottom: 10px;
    }

レイアウトの崩れを直す

メニューページのコンテンツは左寄せになるように設定していますが、menu_box内のmenu_blockはこの設定を外さないとレイアウトが崩れるので注意が必要です。解除するには以下のようにコードを記述します。

.menu_box{
	width: 670px;
	clear:left; 
	}
floatプロパティの扱い

floatプロパティは扱いが難しく、意図した通りにコンテンツを配置できないこともあります。思い通りにできない時は適宜、clearプロパティを上手に使い分けましょう。

  • clearプロパティで指定できる3つの値
プロパティ解説
clearboth全ての要素に対する回り込みの解除
left左寄せされた要素に対する回り込みの解除
right右寄せされた要素に対する回り込みの解除

アクセスページの設定

次にアクセスページのスタイルをCSSで定義しましょう。アクセスページも構造はメニューページと似ているので、設定する内容は多くはありません。

気を付けるのは、placeとmap_photoと幅を670ピクセルに合わせる事と、map_photoに埋め込む2種のマップとストリートビューの幅を調節しておくことだけです。

/*アクセスページ*/
#global_map{
    width: 670px;
    float: left;
    margin-top: 30px;
    margin-right: 30px;
    }
    
.map_box{
    width: 670px;
    clear:left;
    }

.map_block{
    width: 315px;
    float: left;
    margin-right: 13px;	
    margin-bottom: 10px;
}

.map_photo{
    width:670px;
    margin-bottom: 10px;
    }
    
.place{
	width: 670px;
      margin-bottom: 10px;
	}

プラグインの設定

TwitterとFacebookのウィジェット部分のレイアウトをCSSで設定します。ここのポイントは右寄せにすることです。

/*右サイドバー*/
#side_bar{
    margin-top: 30px;
	width: 260px;
	float: right;
    } 

side_barセレクタに対して、幅260ピクセルで指定しています。次のように幅を決めています。

「wrapperの幅960ピクセル」ー「global_mapの幅670ピクセル」ー「マージン30ピクセル」

フッターの設定

各ページで共通のフッターのレイアウトを定義していきます。まずは、フッターのCSS全体を確認してみましょう。

/* フッター */
footer:before{
    content: "";
    display: table;
    clear: both;
}

footer p{
    background: #666;
    width: 960px;
    margin: 50px auto 20px;
    padding: 5px;
    text-align: center;
    font-size: 80%;
}

footer p small{
        color: #ffffff;
        border: 1px #ffffff solid;
        padding: 20px;
        display: block;
    }

footer a{
	color: #ffffff;
	}
	
footer a:hover{
color:#b7b7b6;
}

float:rightで指定した右寄せの解除

side_barセレクタで指定した右寄せの設定「float:right」を解除しなければ、レイアウトが崩れるので、以下のように「clear:both」を指定します。

footer:before{
    content: "";
    display: table;
    clear: both;
}

フッターの領域

フッター内に<p>要素として記述した文字に対し、グレーの背景、幅、マージンを下の図のように指定しています。

footer p{
    background: #666;
    width: 960px;
    margin: 50px auto 20px;
    padding: 5px;
    text-align: center;
    font-size: 80%;
}

フッターの罫線装飾

フッターの縁の内側に白い罫線で装飾されるようにします。

footer p small{
        color: #ffffff;
        border: 1px #ffffff solid;
        padding: 20px;
        display: block;
       }  

p及びsmall要素に対し、子孫セレクタ「footer p small」を定義しています。この定義対象と先ほどのfooter pセレクタで指定している文字の対象が同じで、2重にスタイルを定義しています。これは、CSSの上書き特性があるからです。そのため、両方のスタイルが適用されるので、注意が必要です。

フッターの文字色

最後にフッターの文字色をマウスオーバーで変更できるようにしましょう。やり方は以前説明した疑似クラスhoverを使うだけです。

footer a{
	color: #ffffff;
	}
	
footer a:hover{
  color:#b7b7b6;
}

以上でCSSファイルが完成し、ホームページが完成できたと思います。次からは、サーバーへのアップロードを学び、公開できるようにしましょう。

カテゴリー
HTML

HTML(Step4-1)

CSSファイル作成③

ナビゲーションボタン設定

ここからはナビゲーションボタンの設定をしていきます。以下のCSSのコードを記述し、確認していきましょう。

/*ナビボタン*/

nav{
    margin-top: 10px
}

nav li{
	float: left;
    }

#nav1:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}

#nav2:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}
	
#nav3:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}
	
#nav4:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}

コンテンツ同士のマージン

始めにナビゲーションボタンを配置したnav要素のスタイルをCSSで設定していきます。まずは、コンテンツのマージンを考えましょう。

nav{
    margin-top: 10px
}

「header」下側マージン10ピクセル、「nav」上側マージン15ピクセルの指定だが、10+15で25ピクセルにはならずに相殺されて15ピクセルとなるので注意が必要です。ですから、どちらかにマージンを設定すれば良いということになります。

ボタン同士の隙間

CSSを設定していない状態では、ボタンとボタンの間に隙間があると思いますが、設定をすると以下のようになります。

CSSでは以下のように記述するだけで、隙間を詰めることができます。

nav li{
	float: left;
    }

「float:left」で指定することで、左詰めで横幅が許す限り画像が並んでいきます。しかし、「wrapper」は横幅960ピクセルで指定したので、ピッタリ収まるようになります。

マウスオーバーで色の変更

ナビゲーションボタンの上にマウスポインタをのせると色が変わり、離すと元の色になるように設定していきましょう。

HTMLファイルでは、「li id=”nav1″」から「li id=”nav4″」と設定してきました。この4つに対してのセレクタで、「hover」を追記し、文字色の変化を以下のコードのように記述します。

#nav1:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}

#nav2:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}
	
#nav3:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}
	
#nav4:hover{
	filter:alpha(opacity=60);
	opacity:0.6;
	}

メインコンテンツの設定

ブロックごとのスタイル

ここでは、メインコンテンツのスタイルを定義していきますが、今までの基本をそのまま生かすだけです。以下にコード全体を記すので、順を追って説明します。

/* おすすめ情報*/

#global_info{
    width: 670px;
    float: left;
    margin-top: 30px;
    margin-right: 30px;
	}

#global_info img{
	border: 5px #fff solid;
	}

.info_photo01{
    width: 300px;
	float: left;
    margin-right: 30px;	
    margin-bottom: 30px;
    }
	
.info01{
    width: 340px;
	float: left;
	margin-bottom: 30px;
    } 

.info_photo02{
    width: 300px;
	float: left;
    margin-right: 30px;	
    margin-bottom: 30px;
    clear:left; 
    }
	
.info02{
    width: 340px;
	float: left;
	margin-bottom: 30px;
    } 
    
 .intro{
    width: 670px;
	float: left;
	margin-bottom: 30px;
	}

構造を確認しながら、進めていきましょう。

「global_info」のスタイルを定義
#global_info{
    width: 670px;
    float: left;
    margin-top: 30px;
    margin-right: 30px;
  }

「gloabal_info」では、HTMLファイルで配置した「div id=”global_info”」に対応する形でセレクタを定義します。スタイルでは、主にマージンと幅を決めています。右側に「side_bar」を配置するので、「float:left」で左に寄せておくことも忘れずに行いましょう。また、マージンとして30ピクセル空けておくことも必要です。

写真のフレーム
#global_info img{
	border: 5px #fff solid;
	}

次に「global_info img」を定義します。これは「global_info内のimg要素」にのみ適用する子孫セレクタで、borderで枠を設定します。

info_photo01のスタイルを定義
.info_photo01{
    width: 300px;
  float: left;
    margin-right: 30px;	
    margin-bottom: 30px;
    }

写真を配置している「div class=”info_photo01″」という要素に対し、セレクタを設定します。スタイルでは、幅とマージンの設定を基本設計で決めたサイズにしておきます。

見出しと文章のスタイル

文章部分の見出しと本文のスタイルを設定していきます。section要素に対し、「info01」というクラスセレクタを定義し、レイアウトを整えておきます。とくに見出しは大きく、表示し見やすいページを心がけましょう。

info01という名前でクラスセレクタを定義
.info01{
      width: 340px;
	float: left;
	margin-bottom: 30px;
    } 

文章内の340ピクセルは次のように算出しています。「#global_infoの幅670px」-「.info_photo01の幅300px」+「.info_photo01の右のマージン30px」=340px

同様にinfo02のセレクタも記述しておきましょう。

見出しのスタイルを定義
.item_heading{
  font-weight: bold;
    margin-bottom: 10px;
    }

HTMLファイルでは、p要素に「class=”item_heading”」を追記し、item_headingというクラスセレクタを設定しています。

このようにCSSでマージンを設定すれば、小見出しと本文の間に隙間を自由に設定できるます。

「おすすめ情報」のスタイル

「おすすめ情報」と書かれた部分のCSSを設定していきましょう。ここには、コンテンツの横幅と文字の左寄せ、下側の余白を設定するだけです。CSSソースも以下のようにシンプルになります。

.intro{
    width: 670px;
  float: left;
  margin-bottom: 30px;
  }

特に特別なことはしていませんが、sectionタグに「class=”intro”」を追記してintroというクラスセレクタを設定しています。

カテゴリー
HTML

HTML(Step3-4)

CSSファイル作成②

見出し(h1要素)のスタイル設定

「おすすめ情報」や「サイト紹介」といった見出しのスタイルを設定します。

  • HTMLソース
<div id="global_info">
            <h1>おすすめ情報</h1>
         <!--省略-->
</div>
  • CSSソース
#global_info h1{
    font-size: 125%;
    border-left: 10px #d95483 solid;
    padding-left: 10px;
    margin-bottom: 15px;
    }

子孫セレクタとして定義したh1要素

#global_info h1

#global_infoセレクタは、HTMLファイルの「div id=”global_info”」に対応するセレクタになります。そのため、このスタイルは「global_info内のh1要素にだけ適用」されるスタイルです。

フォントの大きさを指定

font-size:125%;

font-sizeプロパティでフォントの大きさを決めています。これは、「基本表示フォントに対し、125%の大きさで表示する」という意味になります。

文字の大きさを指定する方法

文字の大きさを指定するには、いくつか方法があるので、以下に記載しておきます。

絶対数値による文字サイズの指定

数値によって指定する場合は、次の単位を用いることができます。

  • px…ピクセル
  • pt…ポイント
  • pc…パイカ
  • in…インチ
  • cm…センチメートル
  • mm…ミリメートル
キーワード指定による文字の大きさ

キーワードを使っても文字の大きさを指定できます。

キーワードピクセル指定へ換算
xx-small9px
x-small10px
small12px
medium16px
large18px
x-large24px
xx-large32px

ボーダーを利用してアクセントを付ける

border-left:10px #d95483 solid;

見出し部分の左側に赤いアクセントがついていますが、周囲にボーダー(枠)を描くのが「border」プロパティです。今回は、左側のボーダーのみを10pxの太さで描いて、四角い図形のように見せています。

ボーダーの表示のさせ方

ボーダーは4辺全て指定によて表示させることができます。

プロパティ解説
border-right:値右ボーダーのみ表示
border-top:値上ボーダーのみ表示
border-bottom:値下ボーダーのみ表示
border:値4辺のボーダーを表示
ボーダーの種類

ボーダーは1本線以外にも、次のような指定ができます。

線種
solid1本線
double2本線
dashed破線
dotted点線
insetボーダー内領域がへこんで見える
outsetボーダー内領域が盛り上がって見える
grooveへこんで見える
ridge盛り上がって見える

パディング(余白)の設定

padding-left:10px;

paddingプロパティは、文字や画像とその周りのボーダーなどとの間に余白をつくるための指定になっています。

パディング(余白)の設定方法

paddingプロパティは次のように上下左右に指定することが可能です。

プロパティ解説
padding:値文字や画像の上下左右とボーダーとの余白
padding-top:値文字や画像の上側とボーダーとの余白
padding-bottom:値文字や画像の下側とボーダーとの余白
padding-right:値文字や画像の右側とボーダーとの余白
padding-left:値文字や画像の左側とボーダーとの余白

マージン(余白)の設定

margin-bottom:15px;

以前説明した、コンテンツごとに余白を設定するプロパティで、これを設定することで、読みやすいレイアウトをとることができます。

プロパティ解説
margin:値文字や画像の上下左右と他コンテンツとの余白
margin-top:値文字や画像の上側と他コンテンツとの余白
margin-bottom:値文字や画像の下側と他コンテンツとの余白
margin-right:値文字や画像の右側と他コンテンツとの余白
margin-left:値文字や画像の左側と他コンテンツとの余白

他ページのh1要素も同様に設定

#global_menu h1, #global_map h1

今回作成したページでは、メニューページ、アクセスページに対してもそれぞれ上記のセレクタを定義しています。このように記述することで各ページのh1要素をそれぞれ変更できるので、設定しておくと後から使いやすいです。

例えば、メニューページのh1要素のアクセントを緑色に変更したい場合は以下のように記述すれば変更できます。

#global_menu h1{
    font-size: 125%;
    border-left: 10px #1c781c solid;
    padding-left: 10px;
    margin-bottom: 15px;
  }

ヘッダーのレイアウト

ヘッダー要素のスタイル設定

ヘッダー部分のソースコードを以下のように記述して、確認していきましょう。

/* ヘッダー */
header{
    margin: 50px 0 15px;
    overflow: hidden;
	}
	
.logo{
	float: left;
	} 

#banner_list li img {
	vertical-align:bottom;
	}

header p{
	font-size: 125%;
	font-weight:bold;
	color:#670000;
	text-align: center;
      }
要素名の省略

CSSの要素の中でクラスセレクタは省略できるので、コード内もそのように記述しています。

  • 正式な記述方法
header.logo{
	float: left;
	} 
  • 要素名を省略した記述方法
.logo{
	float: left;
      } 

ヘッダーの上下にマージン設定

ヘッダー部分のスタイルをCSSファイルに記述してヘッダーの位置を確定させましょう。

ロゴの配置

現在のロゴの配置は以下のHTML部分とCSS部分で決定しています。

<a href="index.html" class="logo"><img src="images/logo.png" alt="サイトのロゴ" width="374" height="73"></a>
.logo{
	float: left;
   } 

この場合は、「left」なので、左に寄せるように設定しています。「right」で設定した場合には、以下のようになります。

ヘッダーのマージン

HTMLで配置したheader要素の上側に余白を設定し、ウインドウの枠との間にマージンを設定することで、全体のバランスを調整しましょう。以下のようにCSSコードを書いて調整しましょう。

header{
    margin: 50px 0 15px;
    overflow: hidden;
	}
フロート設定
overflow: hidden;

headerセレクタ内のoverflowプロパティについて説明します。ここでは、logoセレクタで記述した「float:left」の指定を解除するために書いています。「float:~」で要素を配置した場合、float指定を解除しないと後々のレイアウトに影響を与えてしまう可能性があるので、できるだけ記述しておきましょう。

ヘッダー内の文字スタイルを設定
header p{
	font-size: 125%;
	font-weight:bold;
	color:#670000;
	text-align: center;
      }

上記のようにheader内のp要素にだけスタイルを適用する子孫セレクタを指定しておきます。

  • font-weightプロパティでできる文字装飾の指定
プロパティ解説
font-weightnormal文字を通常の太さにする
bold文字を太くする
bolder文字を一回り大きくする
lighter文字を一回り小さくする
  • text-alignプロパティでできる行揃えの指定
プロパティ解説
text-alignleft左揃え
center中央揃え
right右揃え
カテゴリー
HTML

HTML(Step3-3)

CSSファイルの作成①

実際にCSSファイルを作成して今まで作成してきたHTMLファイルに適用していきましょう。

CSSのHTML適用方法

CSSで設定した内容をHTMLに適用するには3つの方法がありますので、順に紹介していきます。

リンク方式

HTMLファイルとは別にCSSだけを記述した「〇〇〇.css」という拡張しの付いたファイルを作成し、HTMLからリンクを貼ります。リンク方式では、1つのCSSファイルを複数のHTMLファイルに適用できるので、非常に管理がしやすいです。基本的にはこの方法でホームページを作成するのが良いでしょう。

記述は、<head>と</head>の間に<link rel=”stylesheet” href=”CSSのファイル名”>と記述します。今回作成したファイルは「style.css」というファイルを作成しています。以下のように記述します。

<!DOCTYPE html>
<html lang="ja"> 
<head>
    <title>portlander</title>
    <meta charset="UTF-8">
    <meta name="description" content="ポートランドにあるレストランを紹介するサイトです。">
    <meta name="keywords" content="ポートランド,レストラン">
    <link rel="stylesheet" href="style.css"> <!--リンクの記述-->
</head>

ヘッド<head>内に記述する方法

HTMLファイル内の冒頭に配置する<head></head>の間に記述する方式です。この方式は別途にCSSファイルを用意する必要がありません。記述する量が多いとHTMLファイル内のソースコードが長くなったり、複数のHTMLファイルの一括変更ができないので、注意が必要です。

以下のコードでは、<style type=”text/css”>というstyle要素を使い、<head>内に記述します。

<!DOCTYPE html>
<html="ja">

<head>
    <style type="text/css">
        h1{
            font: size 125%;
            font-weight: bold;
            color:blue;
            text-align: center;
        }
    </style>
</head>

ボディ<body>内に記述する方法

HTMLファイル内のコンテンツを配置する<body>と</body>の間に記述する方式です。HTMLタグにCSSを追記することで、直接スタイルを適用させます。該当する要素に一時的にスタイルを使いたい場合に使用します。

この方式では、「style=”プロパティ:値;”」を追記してスタイルを定義します。次の例は、<h1>タグに文字を青くするCSSを追記しています。

<body>
    <h1 style="color:blue">HTMLファイルのボディ内に記述する方式</h1>
</body>

HTMLファイルにCSSファイルをリンク

CSSファイルを作成する前に、「index.html」「munu.html」「access.html」の3ファイルに設定するCSSファイル名「style.css」のリンクを設定しましょう。

まずは、「index.html」を開いて<head>内にリンクタグを記述しましょう。CSSのファイル名は「style.css」としておきます。

<head>
    <title>portlander</title>
    <meta charset="UTF-8">
    <meta name="description" content="ポートランドにあるレストランを紹介するサイトです。">
    <meta name="keywords" content="ポートランド,レストラン">
    <link rel="stylesheet" href="style.css">
</head>

このリンク設定は、「menu.html」「access.html」に対しても同じ場所に記述しておきましょう。

これで、3つのファイルに対しての設定が終わったので、「style.css」という名前で新しいファイルを作成し、3つのファイルと同じ所に保存しておきましょう。

CSSの記述

ページ全体の背景や文字色を指定

最初に全てのページとコンテンツに共通して適用されるスタイルから決めていきます。以下のコードはbodyセレクタに記述する全文です。1つ1つ使い方を見ていきましょう。

body{
    background: #ebe6d3; 
    font: 16px/20px "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Helvetica,Arial,Sans-Serif;
    color: #666666;
     }
①bodyセレクタ

CSSでは、まずHTMLのbody要素(<body>)内の背景、文字の大きさ、色を決めていきます。

  • backgroundプロパティ
background: #ebe6d3;

「background」は、ページの背景を決まるプロパティになります。「#ebe6d3」は、何色にするのか、カラーコードを記述しています。これは、16進数のコードで指定していますが、Blueといった色名でも指定することができます。以下のページを見れば、色のコードを確認できるので参考にしてください。

原色大辞典

②背景画像を指定

今回は背景の画像を設定していませんが、以下のように記述することで、背景に画像を設定できます。

background: #ebe6d3 url(画像をリンクするパス) repeat-x; 

先ほど説明した背景色の指定の後に、urlを記述することでその画像を背景にできます。「repeat-x」は、画像の繰り返しを指定しており、これは、「x軸に方向に繰り返す」という意味になります。

画像の繰り返し設定は以下のようなものがあり、レイアウトによって使い分けましょう。

  • no-repeat 画像を繰り返さないで1回だけ表示
  • repeat-y 画像をy軸方向に繰り返す
  • repeat 画像をx軸とy軸方向に繰り返す
③フォントの大きさ、行間の指定
font: 16px/20px "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Helvetica,Arial,Sans-Serif;

fontプロパティは、<body>内の基本のフォントを設定して、サイズと行間を指定できます。「font:」の後に「フォントサイズ/行間」を記述します。この場合は、フォントサイズ16ピクセル、行間20ピクセルになります。

"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Helvetica,Arial,Sans-Serif

これらは、標準となるフォントを指定しています。各フォントは「,」で区切って記述します。またフォント名にスペースが含まれているものは、「””」で囲む必要があります。

④フォントの色を決める
color: #666666;

bodyセレクタで、colorプロパティで文字の色を定義できます。ここでは、16進数のコードでグレーを指定しています。何も設定しない場合は黒で表示されます。

リンクの文字色を指定する

リンクが設定してある文字の表示色は他の色にすると閲覧者から見たら分かりやすくなります。また、閲覧後の色を変える設定もしておきましょう。

aセレクタに色を設定する
a{
	color: #79a6d2;
	}

bodyセレクタと同様にaセレクタ内でcolorプロパティを定義しています。16進数のコードで「#79a6d2」は薄い青になります。

マウスオーバーの色を設定する
a:hover{
	color:#4080bf;
	}

以前、説明した疑似クラスを使用しています。hoverは、マウスカーソルがリンク文字に乗った状態を設定するものです。カラーは16進数のコードで「#4080bf」の濃い青色を指定しています。

コンテンツの表示幅とマージンを設定

HTMLを記述した際に<div id=”wrapper”>を記述しましたが、これに対応するセレクタがここで説明するwrapperセレクタになります。CSS側では、IDセレクタを使う際には「#」を使って記述する必要があります。

コードは以下のように記述します。

#wrapper{
    width: 960px;
    margin: 0 auto;
	}

wrapperセレクタを定義したら、幅を指定するためにwidthプロパティを追記します。ここでは、レイアウトを設計する際に決めた960ピクセルを指定します。

marginは、コンテンツやブラウザのウィンドウまでの余白を指定するプロパティです。指定は「margin:値」と記述します。値は以下のように指定方法が定められています。

  • 値…機能
  • auto…自動で設定される
  • 数値指定…ピクセルなど距離で指定
  • %…他との関係性で割合を指定

レイアウトによっては上下左右の距離を記述しなくても良く、次のようにまとめて指定もできます。

  • 上・下・左・右…margin:50px 20px 30px 30px
  • 上・左右・下…50px 30px 20px
  • 上下・左右…50px 20px
  • 上下左右…50px

「margin:0 auto;」では、上下のマージンはゼロで、左右は自動で設定になります。

また、次のような場合でもmarginプロパティで調整できるので、覚えておくと良いでしょう。

カテゴリー
HTML

HTML(Step3-2)

レイアウトを決めるCSSのルール

最近のホームページでは、基本の構成をHTMLで作成し、見た目や色などのデザイン部分を設定する方法が一般的になっています。

CSSが必要な理由

Cascading Style Sheets(CSS)は、ホームページのデザイン的な設定を記述するためにあります。例えば、背景の色、画像と文字の間隔、見出しと本文の間隔、文字の色や大きさなどのホームページの見え方「スタイル」を定義しています。

複数のスタイルなどを一括管理

現在作っているページはトップページ、メニューページ、アクセスページと3つのHTMLファイルがありますが、CSSファイルは「style.css」の1つだけで大丈夫です。このファイル1つで、全てのページの変更を行うことができ、非常に便利です。

細かなデザイン、レイアウトが可能

CSSを使うと、文字の間隔や画像の配置などをピクセル単位で決めることができます。HTMLでは不可能だったものも可能になります。

検索エンジン最適化(SEO)がやりやすい

レイアウト部分を全てCSSにすることで、HTMLファイル内の記述は簡潔になります。そのため、検索エンジンには文書の内容を理解させやすいので、SearchEngineOptimization(SEO)への効果が見込めます。

CSSとHTMLの関係性

HTMLとCSSの内容を見ながら、CSSで可能な設定を確認してみましょう。

サンプルページのHTMLとCSSを見比べ

「index.html」を開いて以下の各コードを確認してみましょう。

<div id=”wrapper”>タグとCSSの関係

このタグ内のコンテンツは960ピクセルの幅に設定しようと記述しました。

<body>
     <div id="wrapper">
     <!--全てのコンテンツを記述-->
     </div>
</body>

CSSのソースコードでは以下のように記述します。「”wrapper”」と定義されたものの横幅を960ピクセルに、上下のマージンを0にして、左右のマージンは自動になるように書かれています。

#wrapper{
    width: 960px;
    margin: 0 auto;
	}
<h1>おすすめ情報</h1>タグとCSSの関係

文頭に赤いラインのアクセントが入る「おすすめ情報」という見出しも、CSSで定義します。

<div id="global_info">
            <h1>おすすめ情報</h1>

CSSのソースコードでは以下のように記述します。

  1. 「global_info」内の「h1」は
  2. フォントのサイズを125%にし、
  3. 左側に10ピクセルのべた塗りの赤い境界線を入れ、
  4. 文字から10ピクセル離す
  5. 次の行とは15ピクセル離す
#global_info h1{
    font-size: 125%;
    border-left: 10px #d95483 solid;
    padding-left: 10px;
    margin-bottom: 15px;
    }
<img src=””>タグとCSSの関係

「おすすめ情報」内に配置している2枚の写真のフレームは白い枠になっています。これはCSSで付けています。

<div id="global_info">
            <h1>おすすめ情報</h1>
            <div class="info_photo01">
                <img src="images/thumbnail01.png" alt="Hair of the Dog Brewing Company" width="300" height="224">
            </div>

CSSのソースコードでは以下のように記述します。「global_info」内に「img」で配置した画像には幅が5ピクセルの白い境界線を付けるという意味になります。

#global_info img{
	border: 5px #fff solid;
	}

CSSの基本記述

CSS記述のルール

CSSを記述する場合の基本は、HTMLで記述した要素に対して、スタイルをルールに基づいて指定します。基本的には「セレクタ」「プロパティ」「値」の3つを組み合わせます。その際には、「#」「{}」「:」「;」などで区切るというルールがあります。

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

HTMLファイル内の<h1>要素に色を付けたい場合は、以下のように記述します。

  • HTMLソース
<h1>青い見出しの文字</h1>
  • CSSソース
h1{color:blue;}

この場合、h1=セレクタ、color=プロパティ、blue=値となり、HTMLファイル内の<h1>要素がすべて青色になります。

また、複数のプロパティを定義することもあります。

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

先ほどの「#wrapper」がそれにあたります。

#wrapper{width:960px; margin:0 auto;}

1つのセレクタに「width」と「margin」というプロパティを記述しています。

それ以外にも複数のセレクタに同じスタイルを定義することもできます。

セレクタを「,」で区切って、複数個記述できます。

  • HTMLソース
<h1>青い見出しの文字</h1>
<h2>青い見出しの小文字</h2>
  • CSSソース
h1,h2{color:blue;}

このように記述することで、<h1><h2>に対して同じスタイルを設定できます。

「セレクタ」の種類

「セレクタ」にはいくつか種類があるので、使い分けて記述する必要があります。「基本的なセレクタ」「クラスセレクタ」「IDセレクタ」などについて説明します。

基本的なセレクタ

セレクタの前に「#」「.」などがついていないセレクタのことをいいます。HTML内に記述された複数ある指定要素に対し同じスタイルを使う場合に使用します。

  • HTMLソース
<h1>青い見出し</h1>
<h1>赤い見出しにしたい</h1>
  • CSSソース
h1{
   color:blue;
   }

この場合は、HTMLファイルのすべての<h1>要素が青になるように記述されています。

クラスセレクタ

同じセレクタに対し、複数の異なるスタイルを適用したい場合は、先頭に「.」(半角ピリオド)を付けた「クラスセレクタ」を記述します。「クラスセレクタ」に対応したタグをHTMLに記述する場合、タグの後に「class=””」を記述し、「””」内に「クラスセレクタ名」を記述しましょう。

  • HTMLソース
<h1 class="blue">青い見出し</h1>
<h1 class="red">赤い見出しにしたい</h1>
  • CSSソース
.blue{
      color:blue;
      }
.red{
      color:red;
     }

このように同じ<h1>タグでくくられていてもクラスセレクタを使って個別にデザインを変更することができます。

IDセレクタ

先頭に「#」がついたセレクタは、「IDセレクタ」と言われます。これは、ページ内の同名のセレクタを1か所だけ使えるセレクタになります。「index.html」内では、「wrapper」や「global_info」などがこれにあたります。

  • HTMLソース
<h1 class="blue">青い見出し1</h1>
<h1 id="red">赤い見出しにしたい</h1>
<h1 class="blue">青い見出し2</h1>
  • CSSソース
.blue{
      color:blue;
      }
#red{
     color:red;
     }

このように一回のみ使うとき「IDクラスタ」を使っていきましょう。そのために、しっかりとホームページの構造を先に練っておくことが重要です。

疑似セレクタ

「疑似クラス」というのは、HTMLで記述された「要素」が特定の状態になったら、別途定義したスタイルを適用するためのクラスになります。

例えば、ホームページに文字にリンク先を設定する場合です。リンク文字が薄い青色になっており、マウスが文字上に重なると濃い青色になるといった時です。

このような場合は以下のように記述します。

  • HTMLソース
<a href="index.html">Portlander</a>
  • CSSソース
a{
    color:blue
  }
a:hover{
          color:red
        }

<a href=~></a>タグで囲んだリンク文字(a要素)に対して定義しています。「a」は「基本的なセレクタ」になるので、a要素はすべて同じように適用されます。また、「a:hover」はマウスカーソルを重ねた状態を示す「疑似クラス名」になります。

要素名:疑似クラス名{プロパティ:値;}

a要素に追記できる疑似クラスは他に以下のようなものがあります。

  • a:link…リンク先のサイトが未訪問の場合の状況を示します。
  • a:visited…リンク先のサイトに過去にアクセスしたことがある場合の状況を示します。
  • a:active…クリック中の状況を示します。

子孫セレクタ

特定の要素に内包される子や孫の要素に対して、指定したスタイルを適用させます。

要素名 子要素名{プロパティ:値;}

例えば、<header>タグ内にあるp要素のスタイルを変えたい場合です。これを行うと<header>タグ外のp要素には適用されません。

  • HTMLソース
<header>
        <p>ポートランドのお洒落なレストラン</p>
</header>
  • CSSソース
header p{
            font: size 125%;
            font-weight: bold;
            color:blue;
            text-align: center;
        }

上記の場合、ヘッダー内のp要素に対し、文字の大きさを125%に拡大、太文字に色を青、文字はセンターに配置すると指定しています。

以上が各セレクタの簡単なルールになります。次からは、実際にCSSファイルを構築しながら進めていきましょう。

カテゴリー
HTML

HTML(Step3-1)

TwitterとFacebookを埋め込む

Twitterの投稿をホームページに埋め込む

Twitterの投稿をホームページに表示させる方法を紹介します。ここでは、Twitterのアカウントを所持している前提で手順を説明していきます。

リアルタイムに掲載できるTwitterを表示させる

以前、紹介したGoogleマップを埋め込むやり方と同じ要領で、Twitterのサイトで発行される投稿表示用ウィジェットのコードをHTMLに埋め込むことで表示させることができます。

①Twitterのサイトにログインする

以下のリンクからTwitterのサイトにアクセス、ログインしましょう。アカウントを持っていない方は、これを機に作っておくのもいいかもしれません。

https://twitter.com/

②使いたいツイートを検索

埋め込みたいツイートを検索して右上の下矢印をクリックしましょう。ツイートを埋め込むを選択しましょう。

選択したら、以下のような画面が表示されるので、特にカスタマイズする必要がなければ「Copy Code」で、埋め込みコードを取得しましょう。この方法はツイートを1つだけ取得する場合になるので、リアルタイムに表示したい場合は次の項目に書いてあります。

タイムラインを埋め込む方法

タイムラインを埋め込む場合は、以下のサイトからアクセスして取得します。

https://publish.twitter.com/

以下の画面が出たら、表示したいアカウントのURLを入力しましょう。その後、「Embedded Timeline」を選択すると埋め込みコードが取得できるようになります。

Twitterのコードを貼り付ける

生成したコードを貼り付けましょう。その際にTwitterで設定されているコードの幅は大きいので、調整が必要です。

生成したTwitterのコードを「index.html」に貼り付け

貼り付けする位置は「side_bar」のエリアに表示します。

「index.html」を開き、コードを確認し、<footer>タグの上に以下のように記述しましょう。

<div id="side_bar">
   <!--コンテンツの記述-->
</div>

このコンテンツの記述と書かれた所に先ほど取得したTwitterのコードを貼り付けましょう。レイアウトを考える際に決めた横幅を260ピクセルとして記述しましょう。縦幅は600ピクセルで今回は記述しています。

コードは以下のようになります。

<div id="side_bar">
            <a class="twitter-timeline" width="260" height="600" href="https://twitter.com/grassapdx?ref_src=twsrc%5Etfw">Tweets by grassapdx</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>

ブラウザで確認し、下の図のようにフッターの前に細長く表示されていたら、正しく記述されています。

Facebookの「いいね」ボタンの埋め込み

Facebookのサービスにはお店の宣伝に使える仕組みがあります。それを利用して、自分のホームページに埋め込みましょう。

Facebookページの「いいね!」ボタンをホームページに

Facebookのユーザーであれば、だれでも宣伝用に「Facebookページ」を利用できます。ここでは、Facebookページの「いいね!」ボタンを埋め込む方法を解説します。Facebookアカウントを所持している前提で説明します。

FacebookページのURLをコピーする

まずは、Facebookにログインして表示したいページに移りましょう。

https://www.facebook.com/

その後、表示したいページのURLをコピーして保管しておきます。メモ帳などを開いておくと良いでしょう。

「Like Button」生成ページに

先ほどのFacebookページとは別に以下のページにアクセスしましょう。このページはFacebookアプリ開発者向けのページになっており、ここで「いいね!」ボタンの埋め込みコードを生成します。

https://developers.facebook.com/docs/plugins/like-button/

FacebookページのURLを貼り付ける

下の画像を参考に「いいね!」するURLに先ほどコピーしておいたURLを貼り付けます。また、サイドバーの横幅である260ピクセルにするため入力しておきます。入力が終わったら、画面下にある「コードを取得」を選択してください。

「Your Plugin Code」の生成

以下の画面が表示されたら、Step2にあるコードStep3にあるコードをそれぞれ、コピーして保存しておきましょう。

生成したコードを「index.html」に貼り付け

「index.html」を開いて先ほどのコードを貼り付けていきましょう。<body>タグと<div id=”wrapper”>の間にStep2のコードを貼り付けましょう。以下の画像のようになります。

続いてStep3のコードをTwitterのコードの下に挿入しましょう。Twitterのプラグインと間を開けるために改行タグ<br>を入れておきます。

ブラウザで実行結果を確認してみましょう。「いいね!」ボタンが表示されているのがわかると思います。以上でTwitterとFacebookの埋め込みの完了です。

同様にして、「menu.html」と「access.html」にも貼り付けておきましょう。両ファイルとも貼り付け箇所は同じです。これから先はCSSについての説明をしていきます。

カテゴリー
HTML

HTML(Step2-4)

アクセスページの作成

「access.html」を作成していきましょう。メニューページ同様、ナビゲーションボタンやフッターはトップページと同じになります。「index.html」コピーしてメインコンテンツの部分を変更しましょう。

<div id=”global_info”>を削除した状態

また、バナー画像をアクセスページのものに変更しておきましょう。

各ページのバナー画像

コンテンツの構造化

アクセスページの主なコンテンツは、Googleマップとストリートビューを貼りこんだものになります。先にページの構造を把握してから作成に入りましょう。

ページの構造

以下のようにページの入れ子構造を設定します。

コードで示すと以下のようになります。2段1列の構成にしており、1つのお店につき、アクセス情報とGoogleマップとストリートビュー用のブロックに分けて記述しています。

<div id="global_map">

            <div class="map_box">
                <div class="map_block">
                    <section class="place">
                        <!--住所や電話番号を記述-->
                    </section>

                    <div class="map_photo">
                        <!--Googleマップとストリートビューの埋め込み-->
                    </div>
                </div>
            </div>

            <div class="map_box">
                <div class="map_block">
                    <section class="place">
                       <!--住所や電話番号を記述-->
                    </section>
                   
                    <div class="map_photo">
                        <!--Googleマップとストリートビューの埋め込み-->
                    </div>
                </div>
            </div>

</div>

また、画像の幅もあらかじめ決めておきます。Googleマップとストリートビューの横幅がアクセス情報のブロック幅に合わせてサイズを変えています。基本は315×245でこのページは設定しています。

Googleマップを貼りこむ

Googleが提供しているGoogleマップを自分のホームページに貼りこみます。ページ内に設けることでネットを通じ、マップを表示させることができます。もちろん、地図の拡大・縮小やドラッグなどのアクションはユーザーの任意で行うことが出来ます。

「map_photo」タグを配置

上記のコードを見てわかる通り、<div class=”map_photo”></div>の間にマップとストリートビューを配置するコードを記述します。

Googleマップにアクセス

以下のアドレスからGoogleマップにアクセスしましょう。

https://www.google.co.jp/maps

次に検索欄から地図で表示したい所を入力しましょう。

表示したい場所が検索できたら、「Share」ボタンをクリックすると、リンクコピー用のコードを取得するか埋め込み用のコードを取得するか画面が現れるので、「Embed a map」を選択します。

このまま「COPY HTML」を取得できますが、今回はページに合わせてサイズを調整したいので、「Custom size」を選択しましょう。

縦横のサイズを調整できるので、今回は315×245のサイズで貼り付けましょう。

これをコピーしてそのままコード内に貼り付けるだけでマップを貼り付けることができます。貼り付けた部分は基本的にはいじらなくて大丈夫です。

<div class="map_photo">
      <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2795.709498705837!2d-122.66782512026641!3d45.51592623811415!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x54950a09793fdbb9%3A0xc5f87344e49ac07f!2sHair%20of%20the%20Dog%20Brewing%20Company!5e0!3m2!1sja!2sjp!4v1595295666478!5m2!1sja!2sjp" width="315" height="245" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="flase" tabindex="0"></iframe>
</diV>
ストリートビューを貼りこむ

ストリートビューも同様にして、コードを取得することができます。先ほど使用したマップ画面の右下にストリートビューに変更できるアイコンがあるので、クリックしましょう。

その後、マップの表示したい地点をクリックすると、ストリートビューを見ることができます。

ページに表示したい画像をマウス操作で動かしながら決めましょう。決まったら、画面左上の欄から「Shared or embed image」を選択します。後の操作はマップのコードを取得する時なので割愛させていただきます。

<div class=”map_box”>の2段目をつくる

続けて2段目を作成していきましょう。手順は同じなのでコードを以下に記しておきます。

<div id="global_map">

            <div class="map_box">
                <div class="map_block">
                    <section class="place">
                        <h1>アクセス</h1>
                        <p>
                            Hair of the Dog Brewing Company<br>
                            <br>61 SE Yamhill St, Portland, OR 97214 アメリカ合衆国<br>
                            電話番号+15032326585<br>
                        </p>
                    </section>

                    <div class="map_photo">
                        <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2795.709498705837!2d-122.66782512026641!3d45.51592623811415!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x54950a09793fdbb9%3A0xc5f87344e49ac07f!2sHair%20of%20the%20Dog%20Brewing%20Company!5e0!3m2!1sja!2sjp!4v1595295666478!5m2!1sja!2sjp" width="315" height="245" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="flase" tabindex="0"></iframe>
                        <iframe src="https://www.google.com/maps/embed?pb=!4v1595296103905!6m8!1m7!1sQ1ZjR3BXGC6HIyUbml0fnw!2m2!1d45.51580175097809!2d-122.6655467391279!3f347.3048226120343!4f1.763543182015738!5f0.7820865974627469" width="315" height="245" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>
                    </div>
                </div>
            </div>

            <div class="map_box">
                <div class="map_block">
                    <section class="place">
                        <h1>アクセス</h1>
                        <p>
                            Grassa<br>
                            <br>1506 NW 23rd Ave, Portland, OR 97210 アメリカ合衆国<br>
                            電話番号+19713862196<br>
                        </p>
                    </section>

                    <div class="map_photo">
                        <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2794.835234217796!2d-122.6987756735997!3d45.53352111441693!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x549509e5094a4d55%3A0xf44413d2cc7ea851!2sGrassa!5e0!3m2!1sja!2sjp!4v1595304395292!5m2!1sja!2sjp" width="315" height="245" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>
                        <iframe src="https://www.google.com/maps/embed?pb=!4v1595303391163!6m8!1m7!1sd2sHS4ve-qsG_bHdB_jTgQ!2m2!1d45.53352111441693!2d-122.6987756735997!3f72.14423662816708!4f0.3624793651380429!5f0.7820865974627469" width="315" height="245" frameborder="0" style="border:0;" allowfullscreen="" aria-hidden="false" tabindex="0"></iframe>
                    </div>
                </div>
            </div>

</div>

ブラウザで実行すると以下のようになります。

アクセスページのメインコンテンツ

これで、3ページ分のHTMLが完成しました。次はTwitter、Facebookの埋め込み方法を説明していきます。

カテゴリー
HTML

HTML(Step2-3)

メニューページの作成

メニューページは、ヘッダー、ナビゲーションボタン、フッターは、トップページで作成いしたものと共通になっています。そのため、「index.html」をコピーしたファイルを元につくっていきましょう。

index.htmlを流用

まずは、「index.html」のファイルをコピーして名前を「menu.html」として同フォルダに保存しましょう。

現在では、バナーページの写真がトップページのものになったままなので、メニューページ用の写真に変更しましょう。

<header>
            <a href="index.html"><img src="images/logo.png" alt="サイトのロゴ" width="374" height="73"></a>
            <img src="images/toppage.jpg" alt="バナー写真" width="960"height="400">
            <p>ポートランドのお洒落なレストラン</p>
</header>

上のコードから写真のURLを変更し、写真を取り換えましょう。

 <img src="images/menupage.jpg" alt="バナー写真" width="960"height="400">

また、メインコンテンツの部分も削除しておきましょう。以下の<div id=”global_info”>~</div>を削除します。

<div id="global_info">
            <h1>おすすめ情報</h1>
            <div class="info_photo01">
                <img src="images/thumbnail01.png" alt="Hair of the Dog Brewing Company" width="300" height="224">
            </div>

            <section class="info01">
                <p class="item_heading">Hair of the Dog Brewing Companyのワイン</p>
                <p>地元特産のクラフトビールです。ここでしか頂けない味わいをポートランドの土地でお試しあれ!</p>
            </section>

            <div class="info_photo02">
                <img src="images/thumbnail02.png" alt="Grassa" width="300" height="224">
            </div>

            <section class="info02">
                <p class="item_heading">Grassaのパスタ</p>
                <p>普段食べられないオリジナルのクラフトパスタを召し上がれ!ラーメンやうどんの麺風のパスタも!!</p>
            </section>

            <section class="intro">
                <h1>サイト紹介</h1>
                <p>様々なお洒落なお店が立ち並ぶオレゴン州ポートランド、<br>
                全米NO.1の住みやすい街で生まれた美味しいレストランを紹介します!!</p><br>
                <p>このサイトでは、私が訪れたレストランの中でのおすすめと人気店をピックアップしています。</p><br>

                <h1>メールアドレス</h1>
                <p>「info アットマーク portlander.jp」(メールを送信する場合は、左記アドレスをメールソフトの送信先にコピペし、「アットマーク」を「@」に書き換えてください。)</p>
            </section>
</div>

メニューページのメインコンテンツ

基本は「index.html」と同じようにブロックを区切りコンテンツを囲むという考え方でHTMLの構造化を進めましょう。ブロックの入れ子が多くなる場合、開始タグと終了タグの組み合わせを間違えないように気をつけて記述していきます。

メニューのブロック構造

以下の画像のようにブロック構造にしていきます。

メニューのブロック構造
①<div id=”global_menu”>

「global_menu」は、一番外側に位置するブロックで、「menu.html」のメインコンテンツがこの中に配置されます。

②<div class=”menu_box”>

「menu_box」は、3列配置メニューの1段分を囲んでいます。2から3段目も同じように囲んで扱います。

③<dic class=”menu_block”>

「menu_block」は料理の写真とその説明を囲い、3列横に並べます。

④<div class=”menu_photo”>

「menu_photo」は、料理の写真を囲んでいます。

⑤<section class=”menu”>

料理名と説明を囲んでいます。見出しがあるため、<section~>タグを使用しています。

ブロック化したタグの記述

構造を間違えないように、最初に各ブロックのタグを記述しましょう。

<div id="global_menu">

            <div class="menu_box">

                <div class="menu_block">

                    <div class="menu_photo">

                    </div>

                    <section class="menu">

                    </section>
                </div>
            </div>
</div>

写真と説明文を記述する

写真の幅をあらかじめ決定し、メニュー名とその説明文も同じ幅に収まるように設定します。

メニューの写真と説明文の挿入

写真は「menu_photo」のブロック内に配置するため、<div class=”menu_photo”>タグの内側に画像タグを記述します。また、説明は<section class=”menu”>タグの内側になります。写真はあらかじめリサイズしておき、幅を合わせられるようにしておきましょう。もちろん、画像は「images」フォルダーに入れておきます。

写真の幅をあらかじめ決める

ページは次のように写真の幅を決定しています。

  1. 「global_menu」の幅は「global_info」と同じ670ピクセル
  2. 写真の右に13ピクセルのマージン
  3. 670-13×3=631でピクセル幅3列
  4. 631÷3=210あまり1
写真を配置する

<div class=”menu_photo”>と</div>の間に写真を配置する画像タグ<img src=””>を使って記述していきましょう。

メニューページに収録されている写真一覧
<div class="menu_photo">
      <img src="images/menu_photo01.png" alt="Italian Sub Sandwich" width="210" height="140">
</div>
料理の説明を入力

次に<section class=”menu”>と</section>の間に説明を<p>タグを使って記述します。以下のようにコードを書きましょう。

<section class="menu">
     <p class="item_heading">Italian Sub Sandwich</p>
     <p>ロールパンでサラミなどを巻いた特製のサンドイッチです。</p>
     <p class="price">13$</p>
</section>

ブラウザで確認すると以下のようになります。

残りの2つの「menu_block」を記述

1段3列なので、下の画像のように残りの列の写真と説明を記述しましょう。

続けて、2段目を作成していきましょう。そのためには、「menu_box」をもう一段作る記述をします。コードにすると以下のようになります。

<div class="menu_box">

                <div class="menu_block">

                    <div class="menu_photo">
                        <img src="images/menu_photo01.png" alt="Italian Sub Sandwich" width="210" height="140">
                    </div>
                    <section class="menu">
                        <p class="item_heading">Italian Sub Sandwich</p>
                        <p>ロールパンでサラミなどを巻いた特製のサンドイッチです。</p>
                        <p class="price">13$</p>
                    </section>
                </div>

                <div class="menu_block">

                    <div class="menu_photo">
                        <img src="images/menu_photo02.png" alt="Chili & Brisket open faced sandwich" width="210" height="140">
                    </div>
                    <section class="menu">
                        <p class="item_heading">Chili & Brisket open faced sandwich</p>
                        <p>牛バラ肉とチリソーズがマッチするサンドイッチです。</p>
                        <p class="price">12$</p>
                    </section>
                </div>

                <div class="menu_block">

                    <div class="menu_photo">
                        <img src="images/menu_photo03.png" alt="pork toast" width="210" height="140">
                    </div>
                    <section class="menu">
                        <p class="item_heading">pork toast</p>
                        <p>お手頃なお値段でボリューミーなポークトーストです。</p>
                        <p class="price">8$</p>
                    </section>
                </div>

            </div>

            <div class="menu_box">

                <div class="menu_block">

                    <div class="menu_photo">
                        <img src="images/menu_photo04.png" alt="carbonara" width="210" height="140">
                    </div>
                    <section class="menu">
                        <p class="item_heading">carbonara</p>
                        <p>アクセントの目玉焼きが特徴のカルボナーラ<です。/p>
                        <p class="price">11$</p>
                    </section>
                </div>

                <div class="menu_block">

                    <div class="menu_photo">
                        <img src="images/menu_photo05.png" alt="rigatoni" width="210" height="140">
                    </div>
                    <section class="menu">
                        <p class="item_heading">rigatoni</p>
                        <p>ラグ-豚をふんだんに使ったリガトーニです。</p>
                        <p class="price">11$</p>
                    </section>
                </div>

                <div class="menu_block">

                    <div class="menu_photo">
                        <img src="images/menu_photo06.png" alt="caesar salad" width="210" height="140">
                    </div>
                    <section class="menu">
                        <p class="item_heading">caesar salad</p>
                        <p>地元の野菜を使用したフレッシュなサラダです。</p>
                        <p class="price">8$</p>
                    </section>
                </div>
</div>

メニューの2段3列が完成したら、ブラウザで確認してみましょう。下の図のように並んでいれば、OKです。

次からは、アクセスページを作成していきましょう。

カテゴリー
HTML

HTML(Step2-2)

「フッター」の作成

トップページのフッター部分を作りこんでいきます。フッターには、サイト内の他のページへのリンクやコピーライト、プライバシーポリシーなどを記載します。

フッターに表示させる内容

フッターは通常ページ下部に配置された、定型情報を表示させるための領域になります。具体的には文字によるサイト内の他ページへのリンクとコピーライト表記を記載しています。必要に応じ、住所、メールアドレス、プライバシーポリシーを追加してください。

①<footer>タグを記述

タグの記述位置は以下のように<div id=”global _info”>の終了タグ</div>の後になります。<footer></footer>の間に<p>タグを用いながら、文字も併せて入力しましょう。

②文字へのリンク設定

各文字にリンクを設定しましょう。ナビゲーションボタンの設定と同じようにリンクタグ<a href=””></a>を使って記述しましょう。

<footer>
    <p><a href="index.html">ホーム</a>|<a href="menu.html">メニュー</a>|<a href="access.html">アクセス</a>|<a href="http://xxxxx.jp" target="_blank">ブログ</a></p>
</footer>

③<small>タグで文字を小さく

文字を小さくするには、<small></small>と記述します。この間に入力した文字は通常よりもひとまわり小さくなります。

<footer>
   <p><small><a href="index.html">ホーム</a>|<a href="menu.html">メニュー</a>|<a href="access.html">アクセス</a>|<a href="http://xxxxx.jp" target="_blank">ブログ</a></small></p> </footer>

④コピーライト表記

ホームページにはページ内に表示されている写真や文章などの著作権者が誰であるかを示すコピーライト表記を英語で記述します。<br>を挿入して、次のように記述します。

<footer>
   <p><small><a href="index.html">ホーム</a>|<a href="menu.html">メニュー</a>|<a href="access.html">アクセス</a>|<a href="http://xxxxx.jp" target="_blank">ブログ</a>
            <br>Copyright(c)2020 Portlander All rights rederved. No reproduction or republication without written permission.</small></p>
</footer>

ブラウザで確認すると以下のようになります。

画像とボタンにリストタグを設定

リストタグの使用法と活用法を紹介します。リストタグは箇条書きのように使いますが、CSSとの併用でレイアウトや配置を整えるために使うこともできます。

リストタグの使い方

ヘッダーの画像とナビゲーションボタンにリストタグを設定します。リストタグは、文字などを箇条書きで並べて表示するタグで、<ul><li>を用います。以下のように使うことができます。

リストタグのHTMLソースとブラウザ表示

リストタグは画像の配置や効果演出にも利用できます。ボタンの画像をどのようなブラウザでも隙間なく横一列で並べるCSSを念頭に置いた記述方法やマウスオーバーの効果設定にも使えます。「マウスオーバー」はボタンの上にマウスポインタを置いたらボタンのデザインや色が変化する効果になります。

リストタグの設定

ヘッダーとナビゲーションボタンにリストタグを設定しましょう。以下のように<nav>タグ内のコードを変更しましょう。<li>タグには、「id=”nav1~4″」を追加していますが、後々CSSでの設定をするために記述しています。

<nav>
     <ul>
         <li><img src="images/naviButton_left.png" alt="ナビボタン左スペーサー" width="96"height="111"></li>
         <li id="nav1"><a href="index.html"><img src="images/home_button.png" alt="ナビボタンホーム" width="192"height="111"></a></li>
         <li id="nav2"><a href="menu.html"><img src="images/menu_button.png" alt="ナビボタンメニュー" width="192"height="111"></a></li>
         <li id="nav3"><a href="access.html"><img src="images/access_button.png" alt="ナビボタンアクセス" width="192"height="111"></a></li>
         <li id="nav4"><a href="http://xxxxx.jp" target="_blank"><img src="images/blog_button.png" alt="ナビボタンブログ" width="192"height="111"></a></li>
         <li><img src="images/naviButton_right.png" alt="ナビボタン右スペーサー" width="96"height="111"></li>
      </ul>
</nav>

ブラウザで確認すると、以下のようになります。

先ほどまでは横一列でしたが、縦に並んでいるのが確認できると思います。後ほどCSSで再度横一列に並べレイアウトを整えます。