トップページの解説

コードの記述について

HTMLコードは基本的に上から書いた順にブラウザに表示されます。
CSSコードは同じID・classを複数書いた場合、下に 書いたものが優先されます。
HTMLでIDと書かれたブロックはCSSでは「#」、classと書かれたものはCSSでは「.」が頭に付きます。

コード解説

sampleフォルダのindex.htmlHTMLCSSを解説します。
CSSファイルはcssフォルダのstyle.cssです。
style.cssは上段にスマホ版の指定、下段(@media only screen and (min-width: 960px) {以下)にPC版の指定をしています。


HTML文書の基本指定

<!DOCTYPE html>
DOCTYPE宣言。これはHTML5で書かれている事を表します。

<html lang="ja">
このHTMLは日本語で書かれている事を表します。


<head>~</head>
文書のヘッダ情報を表すタグです。この中に下記のメタ情報などを記述します。

<meta charset="utf-8">
このHTMLは文字コード「UTF-8」で書かれている事を表します。日本語のホームページならShift-JISで問題ありませんが、海外向けならUTF-8にしましょう。 その際、メモ帳では文字コード指定ができないので、フリーのテキストエディタなどが必要になります。

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
IEの互換表示ボタンを表示させないための指定。

<meta name="viewport" content="width=device-width, initial-scale=1">
どのデバイス(機種)で見てもサイトの横幅を画面一杯に表示するための指定。

<title>サイトタイトル</title>
サイト名をここに書きます。SEOで最も重要な箇所なので忘れずに。

<meta name="description" content="サイトの説明">
サイトの説明をここに書きます。これもSEOに関わってくるので忘れずに。

<link rel="stylesheet" href="css/normalize.css">
各種ブラウザ間の差異をリセットするためのCSSファイルを読み込みます。

<link rel="stylesheet" href="css/style.css">
各ページ の装飾を指定するためのCSSファイルを読み込みます。

<link rel="stylesheet" href="css/slicknav.css" />
スマホ用のグローバルメニューを表示するためのCSSファイルを読み込みます。


<body>~</body>
文書の本文部分を表すタグです。この中にページで表示する内容を記述します。

body {
min-width: 320px;
font: normal normal 16px/1.5 Meiryo, sans-serif;
background-color: #ffffff;
}

body全体を指定するCSS。4インチスマホのデバイス解像度320ピクセルを最小表示条件に指定。
フォントは16ピクセル・行間1.5、PCにMeiryoというフォントが入っていればMeiryoで表示、無ければゴシック体で表示。ページ全体の背景色は#ffffff(白)。カラーについてはこちらなどを参考に。

<header>~</header>
ヘッダーのブロックをここに書きます。 <head>タグとは異なるので注意。

header {
width: 100%;
height: 80px;
margin: 0 auto;
}
スマホ版CSS。headerというブロックは横幅100%、高さ80ピクセル、外部の余白は上下0、センター表示という指定です。marginはショートハンドという表記方法で上下が0、左右がセンタリングを表しています。

header {
width: 960px;
height: 80px;
margin: 0 auto;
}
PC版CSS。headerというブロックは横幅960ピクセル、高さ80ピクセルという指定です。外部余白についてはスマホ版と同じです。marginはスマホ版と同じなので省略しても構いません。

<div class="logo">~</div>
ここにロゴを配置しますという指定。

.logo {
width: 200px;
height: 80px;
margin: 0 auto;
}
スマホ版CSS。ロゴは横幅200ピクセル、高さ80ピクセル、外部の余白は上下0、センター表示という指定です。

.logo {
float: left;
margin: 0;
padding-left: 20px;
}
PC版CSS。サイズはスマホ版と同じなので指定しません。ロゴは左にフロートさせ、外部余白は無し。内部余白は左に20ピクセルという指定です。

<a href="index.html">~</a>
トップページへのリンク指定

<img src="images/logo.png" alt="" width="200" height="80">
ロゴ画像の指定。オリジナルの画像に変える場合は、横200px・縦80pxのPNG画像を作り、logo.pngと名前を付けてimagesフォルダ内に上書き保存します。

<ul id="menu">
<li><a href="1/index.html">メニュー1</a></li>
<li><a href="2/index.html">メニュー2</a></li>
<li><a href="3/index.html">メニュー3</a></li>
<li><a href="4/index.html">メニュー4</a></li>
<li><a href="5/index.html">メニュー5</a></li>
<li><a href="6/index.html">メニュー6</a></li>
</ul>
グローバルメニューの配置指定。 リストタグを使用しています。
リンク先は下層ページです。例えばメニュー1のジャンプ先は「1」フォルダ内の「index.html」を指します。
メニュー1、メニュー2という名前は自由に変えて利用してください。

#menu {display: none;}
スマホ版CSS。メニューは別の方法(slicknav)で表示させるので、PCと同じには表示しないという指定です。

#menu {
float: left;
display: block;
width: 700px;
padding-top: 18px;
list-style-type: none;
}

#menu li{
float: left;
padding-right: 20px;
font-size: 14px;
}
.slicknav_menu {display: none;}

PC版CSS。メニューは左にフロートさせ、横幅700ピクセル、ロゴに合わせるために上部に18ピクセル余白をとる指定です。
また、リストタグでは左に「・」が付くため、list-style-type: noneで非表示にしています。
#menu liはリストの各項目の指定です。リストタグは指定が無い場合は上から下へ配置されてしまうので、左フロートにして横並びにします。その際、各メニュー項目(メニュー1、メニュー2、…)の右に20ピクセルの余白をとっています。文字サイズは本文の16ピクセルと差をつけるため、またスペースを確保するために14ピクセルにしています。スマホ版とは逆に、slicknavは非表示にします。

<div class="topimage">~</div>
メインビジュアル用画像をここに配置する指定です。
不要な場合は<div class="topimage">~</div>を削除してください。

.topimage {
background-image: url(../images/topimage.jpg);
background-size: 100% auto;
background-repeat: no-repeat;
background-position: center center;
margin: 0 auto 10px;
}
スマホ版CSS。画像を背景に置く指定です。 サイズは横幅一杯で縦は自動リサイズ。背景画像は無指定だと繰り返されてしまうので、no-repeat;で繰り返しを禁止。余白は上が0、左右が自動センタリング、下に10ピクセルとっています。

.topimage {
width: 920px;
height: 340px;
background-image: url(../images/topimage.jpg);
margin: 0 auto 20px;
}
PC版CSS。背景画像は横920ピクセル、縦340ピクセルで原寸サイズです。
オリジナルの画像に変える場合は、横920px・縦340pxのJPG画像を作り、topimage.jpgと名前を付けてimagesフォルダ内に上書き保存します。

<div class="topcopy">キャッチコピー</div>
トップ用画像の上に文字を配置する指定です。

.topcopy {
padding: 35px 0 35px 10px;
font-size: 16px;
font-weight: bold;
color: #ffffff;
}
スマホ版CSS。画像に対して上に35ピクセル、右0、下に35ピクセル、左に10ピクセルの余白をとっています。フォントの大きさ、太さ、色は適宜変更して下さい。

.topcopy {
padding: 120px 0 0 30px;
font-size: 18px;
font-weight: bold;
color: #ffffff;
}
PC版CSS。スマホ版とは余白とフォントの大きさを変えています。

<div id="content">~</div>
本文の指定部分です。ここに好きな内容を書き込んでいきます。

#content {
padding: 0 10px;
background-color: #fff;
}
スマホ版CSS。上下は余白無し、左右に各10ピクセルの余白をとっています。背景色は白。

#content {
width: 920px;
margin: 0 auto;
padding: 0 20px;
min-height: 500px;
clear: both;
}
PC版CSS。横幅920ピクセルでセンター配置。余白は左右に20ピクセルとっています。
これで横幅の合計は920+20+20=960となります。左右に余白をとっておくことで、<body>に背景色や背景画像を指定した場合でも、左右にホワイトスペースを確保できます。
min-height: 500pxというのは、本文の中身が無くても500ピクセル分の高さを確保して、フッターが上に来てしまうことを防ぐ指定です。
clear: bothというのは、このブロックの上部にあるメニューで使っているfloat(回り込み)を解除する指定です。floatを使ったらこの指定を忘れずに。

<h1>~</h1>
大見出しの指定です。

h1 {
border-left-width: 5px;
border-left-style: solid;
border-left-color: #5a8ee1;
border-top-width: 1px;
border-top-style: solid;
border-top-color: #999;
font-size: 17px;
font-weight: bold;
padding: 4px 0 0 7px;
margin: 0 0 5px 0;
}
大見出しのCSS(スマホ・PC共通)。左端と上端に罫線を指定します。文字は17ピクセル。

<footer>~</footer>
フッタの指定部分です。

footer {
clear: both;
padding: 30px 0;
color: #666;
text-align: center;
font-size: 12px;
}
フッタのCSS(スマホ・PC共通)。clear: bothは必須ではありませんが、contentでfloatを使った場合への予備です。内部余白は上下30ピクセル。

フォントカラーは#666666というグレーです。文字はセンター配置とし、小さめの12ピクセルにしています。

<script>~</script>
JavaScriptを読み込む指定です。このテンプレートでは、スマホ用のメニューを動かすためにjQueryというJavaScriptのライブラリとslicknavというプラグインを使用しています。

>> 下層ページの解説