読者です 読者をやめる 読者になる 読者になる

ハロトレWebデザインの勉強03月14日開講クラス授業補足ブログ

2カラムレイアウト基本

CSS

2カラムレイアウト基本


Homepage Title
サブタイトルサブタイトルサブタイトル
コンテンツのタイトル

コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。

コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。

メニューのリンク1
メニューのリンク2
メニューのリンク3
メニューのリンク4
メニューのリンク5

Copyright © AUTHOR NAME, All Rights Reserved.

ワークフロー(作成手順)

マークアップ
  • 外部CSSファイルを正しく読み込む(相対パスで記述する)
  • smallタグは、脚注などの補足要素に記述する
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>2カラム基本レイアウト</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container">
<div class="header">
<h1 lang="en">Homepage Title</h1>
<p>サブタイトルサブタイトルサブタイトル</p>
</div><!-- /.header -->
<div class="wrapper">
<div class="content">
<h2>コンテンツのタイトル</h2>
<p>コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。</p>
<p>コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。コンテンツの本文を記述します。</p>
</div><!-- /.content -->
<div class="sidebar">
<ul>
<li><a href="#">メニューのリンク1</a></li>
<li><a href="#">メニューのリンク2</a></li>
<li><a href="#">メニューのリンク3</a></li>
<li><a href="#">メニューのリンク4</a></li>
<li><a href="#">メニューのリンク5</a></li>
</ul>
</div><!-- /.sidebar -->
</div><!-- /.wrapper -->
<div class="footer">
<p><small>Copyright &#169; AUTHOR NAME, All Rights Reserved.</small></p>
</div><!-- /.footer -->
</div><!-- /.container -->
</body>
</html>
リセットCSS
  • ブラウザの持つ初期値をリセットして、値を適用しやすくする
@charset "UTF-8";

/* reset
---------------------------------*/
html, body, h1, h2, p, ul, li {
  margin: 0;
  padding: 0;
  line-height: 1.0;
  font-family:
    "Hiragino Kaku Gothic ProN",
    Meiryo,
    sans-serif;
}
ul { list-style: none; }
a { text-decoration: none; }

/* body
---------------------------------*/
body {
  font-size: 16px;
  background: #CCC;
}

/* layout
---------------------------------*/
.container {
  width: 760px;
  padding: 20px;
  margin: 0 auto;
  background: #FFF;
}
.header {
  height: 200px;
  margin-bottom:  30px;
  background: #FFF url(../img/header01.jpg) no-repeat;
}
.wrapper {
  overflow: hidden;
  margin-bottom: 20px;
}
.content {
  float: left;
  width: 35em;
}
.sidebar {
  float: right;
  width: 10em;
}
.footer {
  padding-top: 15px;
  text-align: center;
  border-top: 1px dotted #999;
}


#containerの位置を確定
  • 幅を「width+左右の余白」でトータル800px、marginの左右をautoで画面の中央に配置
#container {
  width: 760px;
  margin: 0 auto;
  padding: 20px;
  background-color: #FFF;
}


#headerの設定
  • 背景画像を読み込む
/* layout
------------------------------------------------------------*/
#container {
  width: 760px;
  margin: 0 auto;
  padding: 20px;
  background-color: #FFF;
}
#header {
  height: 180px;
  margin-bottom: 30px;
  padding: 20px 0 0 20px;
  background: url(../img/header01.jpg) no-repeat center top;
}

/* #header
------------------------------------------------------------*/
#header h1 {
  font-family: "Arial Black", Gadget, sans-serif;
  margin-bottom: 10px;
}
#header p { font-size: 14px; }


他のレイアウトを設定
  • 左右に不動状態を「#wrapper」で囲む
  • 不動状態を囲む要素には「overflow: hidden;」を指定
#wrapper {
  overflow: hidden;
  margin-bottom: 10px;
}
#content {
  width: 550px;
  float: left;
}
#nav {
  width: 180px;
  float: right;
}
#footer {
  padding: 10px;
  text-align: center;
  border-top: 1px dotted #AAA;
}


#contentと#navを設定
  • li のリンクには、マウスオーバー時の設定をする
/* #content
------------------------------------------------------------*/
#content h2 {
  background: #C1F569;
  margin-bottom: 20px;
  padding: 12px 0 10px 18px;
}
#content p {
  line-height: 1.6;
  margin-bottom: 20px;
}

/* #nav
------------------------------------------------------------*/
#nav li a {
  display: block;
  padding: 12px 0 10px 1.0em;
  border-bottom: 1px solid #AAA;
  font-weight: bold;
  color: #333;
}
#nav li:first-child a {
  border-top: 1px solid #AAA;
}
#nav li a:hover {
  color: #F90;
}



@charset "UTF-8";

/* reset
---------------------------------*/
html, body, h1, h2, p, ul, li {
  margin: 0;
  padding: 0;
  line-height: 1.0;
  font-family:
    "Hiragino Kaku Gothic ProN",
    Meiryo,
    sans-serif;
}
ul { list-style: none; }
a { text-decoration: none; }

/* body
---------------------------------*/
body {
  font-size: 16px;
  background: #CCC;
}

/* layout
---------------------------------*/
.container {
  width: 760px;
  padding: 20px;
  margin: 0 auto;
  background: #FFF;
}
.header {
  height: 200px;
  margin-bottom:  30px;
  background: #FFF url(../img/header01.jpg) no-repeat;
}
.wrapper {
  overflow: hidden;
  margin-bottom: 20px;
}
.content {
  float: left;
  width: 35em;
}
.sidebar {
  float: right;
  width: 10em;
}
.footer {
  padding-top: 15px;
  text-align: center;
  border-top: 1px dotted #999;
}

/* elements
---------------------------------*/
.header h1 {
  padding: 20px 0 0 20px;
  margin-bottom: 10px;
  font-size: 33.6px;
  font-family: 'Arial Black', Gadget, sans-serif;
}
.header p {
  margin: 0 0 20px 20px;
}
.content h2 {
  margin-bottom: 20px;
  padding: 10px 0 8px 1.0em;
  background-color: #7C9D00;
  color: #FFF;
}
.content p {
  line-height: 1.5;
  text-indent: 1.0em;
  margin-bottom: 20px;
}
.sidebar li a {
  display: block;
  padding-left: 8px;
  line-height: 36px;
  font-weight: bold;
  border-bottom: 1px dotted #666;
  color: #333;
}
.sidebar li a:hover {
  color: #FF8F1B;
}
.sidebar li:first-child a {
  border-top: 1px dotted #666;
}
.footer p {
  font-size: 14px;
}