Life is Tech! Lesson
オリジナル制作サンプル集
できあがりイメージ
つくりかた
HTML
<nav>
<ul>
<li><a href="#shop">Mom's Bakeryについて</a></li>
<li><a href="#photo">おすすめのパン</a></li>
<li><a href="#price">商品メニュー</a></li>
<li><a href="#access">アクセスマップ</a></li>
</ul>
</nav>
HTMLのnavタグ内の要素に対しCSSを反映させていきます。
CSSのセレクタで nav とそれに関連したものを探しましょう。
CSS
/* ナビゲーションの箱 */
nav {
background-color: #663300;
padding-top: 10px;
padding-bottom: 10px;
}
/* リスト全体 */
nav ul {
margin-top: 0px;
margin-bottom: 0px;
text-align: center;
}
/* 1つ1つのリスト */
nav li {
display: inline-block;
margin-right: 40px;
}
/* リンク */
nav a {
color: #ffffff;
text-decoration: none;
}
/* リンクにふれた時 */
nav a: hover {
color: #ffcc11;
}
nav に関連したセレクタは、
・nav
・nav ul
・nav li
・nav a
・nav a: hover
の5つです。
nav ul の margin-top と margin-bottom の値を指定して、ナビゲーションを表示する位置を変更します。
CSS
/* リスト全体 */
nav ul {
margin-top: -100px;
margin-bottom: 40px;
text-align: center;
}
margin-top の値を-100pxにすると、header の中にナビゲーションを配置することができます。
nav を削除します。
CSS
/* リスト全体 */
nav ul {
margin-top: -100px;
margin-bottom: 40px;
text-align: center;
}
/* 1つ1つのリスト */
nav li {
display: inline-block;
margin-right: 40px;
}
/* リンク */
nav a {
color: #ffffff;
text-decoration: none;
}
/* リンクにふれた時 */
nav a: hover {
color: #ffcc11;
}
サンプルでは、header の中にナビゲーションを配置しているので、背景色や余白は不要なので削除します。
nav a に display: inline-block を追加します。
background-color を指定して、背景に色をつけます。
CSS
/* リンク */
nav a {
color: #000000;
text-decoration: none;
display: inline-block;
padding: 8px;
width: 200px;
background-color: #8B0000;
}
サンプルでは背景色を #33ddcc (グリーン) に指定しています。
padding と width を指定して余白を調整します。
必要があれば、背景色に合わせて文字の色も書き換えましょう。
CSS
nav a {
color: #000000;
text-decoration: none;
padding: 8px;
width: 200px;
background-color: #8B0000;
}
header の height を変更して、ナビゲーションの位置を調整します。
CSS
header {
background-image: url(img/bg_header.jpg);/* 背景画像 */
height: 520px;/* 高さ */
padding-top: 80px;/* 上がわの余白 */
}
サンプルでは height を520px に変更して、padding を 80px にしています。
nav a に border-bottom を追加して、立体感のあるボタンを作ります。
border-radius で角丸を作ります。
CSS
/* リンク */
nav a {
color: #000000;
text-decoration: none;
display: inline-block;
padding: 8px;
width: 200px;
background-color: #33ddcc;
border-bottom: 6px solid #2AB4A6;
border-radius: 100vh;
}
border-bottom に背景色より少し濃い色を指定すると、影のように見えて立体感が出ます。
border-radius に 100vh を指定すると、要素の左右を半円にすることができます。
CSS
border-bottom: 6px solid #2AB4A6;
border-radius: 100vh;
コピーしたコードを目的の箇所にペースト(貼り付け)するか、直接書いてみましょう。
nav a: hover に transform を追加して、ボタンの位置を変更します。
CSS
/* リンクにふれた時 */
nav a: hover {
color: #000000;
transform: translateY(6px);
}
transform に translateY を指定すると縦方向に要素を移動させることができます。
カッコ内には移動させる範囲を指定します。
カーソルが通過するとボタンが押されたように変化したら完成です。
transform でボタンの位置を移動させた時に、border-bottom を消してボタンが押されたように見せます。
CSS
nav li:hover {
color: #000000;
transform: translateY(6px);
border-bottom: none;
}
border-bottom に none を指定すると、ボーダーが表示されなくなります。
CSS
transform: translateY(6px);
border-bottom: none;
コピーしたコードを目的の箇所にペースト(貼り付け)するか、直接書いてみましょう。
立体感のある、角丸のボタンになっていたら次のステップに進みましょう。