Part3 - 2カラムページ(カスタマイズ 2)
Part3 - 2カラムページ(カスタマイズ 2)
レイアウト(横並び)
- 2つを囲む外枠を指定する「container」
- 横並びのレイアウト指定は、「grid」「flex」の2種類のうちどちらかで指定します
- 「grid」は、可変の設定が簡単(幅指定なし)
- 「flex」は、幅指定を前提に設定します
<div class="container"> <!-- .main-content --> <main class="main-content"> </main> <!-- /.main-content --> <!-- .sidebar --> <aside class="sidebar"> </aside> <!-- /.sidebar --> </div><!-- /.container -->
/* -------------------------------------- layout -------------------------------------- */ .container { padding: 20px 0; width: min(90%, 960px); margin: 0 auto; } .main-content { margin-bottom: 24px; padding: 20px; background-color: #fff; } @media screen and (min-width: 768px) { .container { display: grid; grid-template-columns: 1fr 280px; gap: 30px; } .main-content { padding: 40px; background-color: #fff; border-radius: 16px; box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16); } .sidebar { max-width: 280px; } }
main部
<!-- .main-content --> <main class="main-content"> <article> <h2>ファームの1日</h2> <p class="postdate"> <time datetime="2022-07-08T12:03" class="datetime"> 2021年7月8日12時3分 </time> </p> <p class="eyecatch"> <img src="img/eyecatch.png" alt="カピぞうが農園にいる絵"> </p> <section class="timeline"> <h3>6:00~<br>にんじんの収穫と朝ごはん</h3> <p>朝は6時ごろに起きています。いつまでも布団にくるまっていたいけれど、えいや!と頑張って起きます。<br>外に出て、まずはおひさまに「おはようございます」とご挨拶。</p> <p> その後、育ったにんじんを収穫します。<br> 形が悪いものは、ぼくが朝食として食べています。<br> 収穫しながら朝ごはんを済ませられるので、とても効率的なのです!<br> </p> <figure> <img src="img/carrots.png" alt="形の悪いにんじんの絵"> <figcaption>形が悪くてぼくが食べたにんじんさんたち</figcaption> </figure> </section> <section class="timeline"> <h3>8:30~12:30<br>スーパーや道の駅への出荷</h3> <p>採ったにんじんを産直店へ運びます。ここが一番の労働かもしれません。<br>そろそろリヤカーではなく、電気で動く車を買おうかなと思っているところです。</p> </section> <section class="timeline"> <h3>12:30~18:00<br>畑作業と夜ごはん</h3> <p>にんじんの様子を見ながら、お水をあげたり、虫を駆除したり、カバーをかけたりします。<br>今はにんじんがメインですが、将来的にはたくさんの野菜を育てたいので今その準備もしています。</p> </section> <section class="timeline"> <h3>18:30~<br>お風呂・就寝</h3> <p>お風呂にゆっくり入った後、眠ります。お布団の中は天国です。</p> </section> </article> </main> <!-- /.main-content -->
CSSの記述
- 大見出し「h2」「h3」の修飾は、オリジナルで設定(ブログ的な見出しにする)
/* -------------------------------------- main -------------------------------------- */ .main-content h2 { margin-bottom: 10px; font-size: 24px; text-align: center; line-height: 1.2; } .postdate { margin-bottom: 30px; text-align: center; } .datetime { display: inline-block; padding: 13px 25px 12px 20px; background-color: #79b25e; border-radius: 0 0 22px 22px; font-size: 18px; font-weight: 700; color: #fff; } .eyecatch { margin-bottom: 30px; } .main-content h3 { margin-bottom: 16px; padding: 20px 10px 6px 48px; background: url(../img/h2_icon.png) no-repeat left bottom; border-bottom: 2px solid #6ab547; color: #7c5d48; font-size: 24px; font-weight: normal; } .main-content h3::first-line { color: #cb4b1c; font-size: 18px; line-height: 1.5; } .timeline { margin-bottom: 20px; } .timeline img { margin: 16px 0 8px; } .timeline figcaption { font-size: 14px; text-align: center; } .timeline p { line-height: 1.6; } @media screen and (min-width: 768px) { .main-content h2 { font-size: 34px; } .main-content h3 { font-size: 28px; font-weight: 600; } }
aside部
- aside部には、navを指定せずに「h2」をaside部直下の見出しとして指定しています
<!-- .sidebar --> <aside class="sidebar"> <div class="categoryNav"> <h2>Category</h2> <ul> <li><a href="#">農家の日常(4)</a></li> <li><a href="#">農家のノウハウ(5)</a></li> <li><a href="#">カピぞうレシピ(2)</a></li> <li><a href="#">農家の経営(2)</a></li> </ul> </div><!-- /.categoryNav --> <div class="recentNav"> <h2>Recent Articles</h2> <ul> <li><a href="#">温室栽培での注意トップ10</a></li> <li><a href="#">虫の駆除方法を現役農家がレクチャーします</a></li> <li><a href="#">お家でもできる!プランター栽培のポイント</a></li> <li><a href="#">簡単にんじん料理をご紹介!</a></li> <li><a href="#">農業って食べていけるの?気になる年収を大公開</a></li> <li><a href="#">はじめまして。カピぞうの紹介です</a></li> </ul> </div><!-- /.recentNav --> <p class="banner"><a href="#"><img src="img/side_banner.png" alt="オンラインショップバナー"></a></p> </aside> <!-- /.sidebar -->
/* -------------------------------------- aside -------------------------------------- */ .categoryNav, .recentNav { border-radius: 10px; background-color: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.16); padding: 24px 28px; margin-bottom: 24px; } .sidebar h2 { margin-bottom: 18px; font-size: 22px; font-weight: bold; color: #7c5d48; } .categoryNav ul { margin-left: 30px; } .categoryNav li { list-style: disc; line-height: 2.0; } .recentNav li { padding: 20px 0 20px; border-bottom: 1px dotted #000; line-height: 1.5; } .recentNav li:first-child { padding-top: 10px; } .banner { text-align: center; } @media screen and (min-width: 768px) { .categoryNav, .recentNav { margin-bottom: 24px; padding: 32px; background-color: #fff; border-radius: 16px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.16); } }
footer部
/* -------------------------------------- footer -------------------------------------- */ .footer { padding: 16px 0 20px; background-color: #523f2d; } .footer p { color: #fff; font-size: 15px; text-align: center; }