Web白描

Webデザインの勉強 - 演習

課題 3 - Recipe

レシピページを作成

ワイヤーフレーム
  • 幅は、「header」「main」「footer」すべて 100%
  • 余白は、適宜指定

テキスト
  • 画像のalt内容は割愛しています
日々の料理レシピをまとめている Recipe Diary

Recipe Diary

日々の料理レシピをまとめています。
和食や洋食、中華、お菓子までいろいろな料理レシピをアップしていますので、
みなさんの献立にお役立てくださいね!

レシピ一覧を見る

Instagram
Twitter
Facebook

© 2024 Recipe Diary
作成ポイント

キービジュアルの高さ

  • vh(Viewport Height)
  • この値は、要素のサイズを動的に決定するために使用されます(いろいろなデバイスでも高さがフルに見えるよう)
  • バイスの高さ100%で表示するためには、「height: 100vh;」を指定します
<header class="header">
  <h1 class="mainvisual"><img src="img/main_visual.jpg" alt="日々の料理レシピをまとめている Recipe Diary"></h1>
</header>
.mainvisual img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  object-position: center top;
  margin-bottom: 80px;
}

CTAの作り方

  • CTAとは、Call To Action(コール トゥ アクション)の略
  • ユーザーが特定の行動をするように導く目的で設置される、テキストやボタンなどのこと
  • このページの場合、「レシピ一覧を見る」ボタンにあたります

display: inline-block;

  • ボタンを、ブロックとして扱い「p」タグの左右中央に配置します

<p class="btn">
  <a href="#">レシピ一覧を見る</a>
</p><!-- /.btn -->
/* --------------.btn ----------------- */
.btn {
  margin-bottom: 80px;
  text-align: center;
}
  .btn > a  {
    display: inline-block;
    padding: 20px 60px;
    border: solid 1px #2b2a27;
    font-size: 0.875rem;
    transition: .3s;
  }
  .btn > a:hover {
    background-color: #ececec;
  }

完成例

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>【コーディング練習】Recipe Diary</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="css/style.css">
</head>
<body>

  <!-- header -->
  <header class="header">
    <h1 class="mainvisual"><img src="img/main_visual.webp" alt="日々の料理レシピをまとめている Recipe Diary"></h1>
  </header>
  <!-- /header -->

  <!-- main -->
  <main class="main">

    <section class="copy">
      <h2>Recipe Diary</h2>
      <p>日々の料理レシピをまとめています。
        和食や洋食、中華、お菓子までいろいろな料理レシピをアップしていますので、
        みなさんの献立にお役立てくださいね!</p>
      <ul class="various">
        <li><img src="img/recipe1.webp" alt=""></li>
        <li><img src="img/recipe2.webp" alt=""></li>
        <li><img src="img/recipe3.webp" alt=""></li>
      </ul>
      <p class="btn">
        <a href="#">レシピ一覧を見る</a>
      </p><!-- /.btn -->
    </section><!-- /.copy -->

  </main>
  <!-- /main -->

  <!-- footer -->
  <footer class="footer">
    <ul class="sns">
      <li><a href="#">Instagram</a></li>
      <li><a href="#">Twitter</a></li>
      <li><a href="#">Facebook</a></li>
    </ul>
    <p>&copy; 2024 Recipe Diary</p>
  </footer>
  <!-- /footer -->

</body>
</html>
@charset "UTF-8";

/* ---------------------------------------
  reset
--------------------------------------- */
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
ul {
  list-style: none;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  max-width: 100%;
  vertical-align: bottom;
}


/* ---------------------------------------
  body
--------------------------------------- */
body {
  background-color: #fff;
  color: #333;
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.0;
}


/* ---------------------------------------
  header
--------------------------------------- */
.mainvisual img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
  object-position: center top;
  margin-bottom: 80px;
}


/* ---------------------------------------
  main
--------------------------------------- */
.copy {
  text-align: center;
}
  .copy > h2 {
    margin-bottom: 20px;
    font-size: 32px;
  }
  .copy > p {
    margin-bottom: 80px;
    line-height: 1.7;
    white-space: pre-line;
  }

/* -------------.various -------------- */
.various {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 30px;
}
  .various li img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    vertical-align: bottom;
  }

/* --------------.btn ----------------- */
.btn {
  margin-bottom: 80px;
  text-align: center;
}
  .btn > a  {
    display: inline-block;
    padding: 20px 60px;
    border: solid 1px #2b2a27;
    font-size: 0.875rem;
    transition: .3s;
  }
  .btn > a:hover {
    background-color: #ececec;
  }


/* ---------------------------------------
  footer
--------------------------------------- */
.footer {
  font-size: 15px;
  padding: 20px;
  text-align: center;
}
  .sns {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
  }
  .sns li {
    margin: 0 10px;
  }
  .sns a {
    text-decoration: underline;
  }