サイドメニューを固定するレイアウトページです。
レスポンシブ使用になっているので、横幅768px以上のブラウザで確認してね。
○index.html
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8"><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css" integrity="sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr" crossorigin="anonymous">
<title>タイトルだよ</title>
<meta name="description" content="ディスクリプションだよ">
<meta name="keywords" content="キーワード1, キーワード2">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/common.css">
<link rel="stylesheet" href="css/index.css">
</head>
<body>
<!--header-->
<header>
<nav>
<ul>
<li><a href="#">トップ</a></li>
<li><a href="#">コンテンツ1</a></li>
<li><a href="#">コンテンツ2</a></li>
</ul>
</nav>
</header>
<main ontouchstart="">
<div class="block"></div>
<div class="block gray"></div>
<div class="block green"></div>
<div class="block red"></div>
</main>
<!--footer-->
<footer>
<p class="footerText">フッターだよ</p>
<script src="js/jquery-2.0.0.min.js"></script>
<script src="js/common.js"></script>
</footer>
</body>
</html>
・header、main、footerをわけて作成してください
○header.css
/*
header
*/
header {
background-color: #ff8d8d; }
@media screen and (min-width: 768px) {
header {
position: fixed;
top: 0;
width: 200px; } }
li a {
text-decoration: none;
color: #fff; }
・メニューを左側に固定するので、header全体にpositon:fixed;を指定する。
また、メニューの幅を指定する。
○index.css
@media screen and (min-width: 768px) {
main {
margin: 0 0 0 200px; } }
.block {
width: 100%;
height: 200px;
background-color: #74ffdb; }
.block.gray {
background-color: #dfdfdf; }
.block.green {
background-color: #38ff38; }
.block.red {
background-color: #ffc1c1; }
・headerにposition:fixed;を指定いるので、その右隣にmainをもってきたいのでmargin:0 0 0 200px;を指定し、mainコンテンツの左にheaderのメニュー幅を確保します。
○footer.css
/*
footer
*/
footer {
background-color: #f8ff38; }
@media screen and (min-width: 768px) {
footer {
margin: 0 0 0 200px; } }
.footerText {
height: 200px;
color: #444; }
・footerもメインコンテンツと同じようにしたいので、mainと同様にmarginを指定します。
あとは、通常通りコーディングしていけば、おっけーです。
今回は以上です。