サイト模写 | Cafe(ホームページ)

※サイト模写用に作成したページの解説です。

※使用画像はフリー素材からダウンロードしています。

※下記、模写サイトへボタンから該当のサイトへGo!!

MEMO

1.body

  • 最大幅1080px
  • 左右の余白は画面の4%

2.メインビジュアル

  • 横幅いっぱい
  • 高さは画面の70%表示

3.Menu

  • 画像を2カラムで中央寄せ

4.Shop

  • 画像とテキストを横並び表示
  • 画像はCSSで丸く表示
  • スマホの際、画像は非表示

5.レスポンシブ

  • ブレークポイントは600px
  • Menu、Shopの横並びを解除し縦表示

HTML

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>cafe|サイト模写</title>
  <meta name="description" content="テキストテキストテキストテキスト">
  <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <header class="wrapper">
    <h1 class="logo">
      <img src="img/logo.png" alt="logo">
    </h1>
    <ul>
      <li><a href="#menu">MENU</a></li>
      <li><a href="#shop">SHOP</a></li>
    </ul>
  </header>
  <main>
    <div id="mv">
      <img src="img/mv.jpg" alt="mv">
    </div>
    <section id="menu" class="wrapper">
      <h2 class="section-title">Menu</h2>
      <div class="imgWrap">
        <div class="img">
          <img src="img/01.jpg" alt="menu">
          <p class="menuTitle">テキストテキスト</p>
          <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
        </div>
        <div class="img">
          <img src="img/02.jpg" alt="menu">
          <p class="menuTitle">テキストテキスト</p>
          <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
        </div>
        <div class="img">
          <img src="img/03.jpg" alt="menu">
          <p class="menuTitle">テキストテキスト</p>
          <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
        </div>
        <div class="img">
          <img src="img/04.jpg" alt="menu">
          <p class="menuTitle">テキストテキスト</p>
          <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
        </div>
      </div>
    </section>
    <section id="shop" class="wrapper">
      <h2 class="section-title">Shop</h2>
      <div class="shopWrap">
        <div class="address">
          <p>〒000-0000</p>
          <p>テキストテキストテキストテキストテキストテキスト</p>
          <p>03-000-0000</p>
        </div>
        <div class="img">
          <img src="img/05.jpg" alt="shop">
        </div>
      </div>
    </section>
  </main>
  <footer>
    <div class="source wrapper">
      <a href="index02.html#memo">MEMO</a>
      <a href="index02.html#html">HTML</a>
      <a href="index02.html#css">CSS</a>
    </div>
    <div class="copy">© cafe</div>
  </footer>
</body>
</html>

css

html {
  font-size: 100%;
}

body {
  line-height: 1.6;
  min-height: 100vh;
}

*, *::before, *::after {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  display: block;
  color: #333;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

.wrapper {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 4%;
  text-align: center;
}

.section-title {
  font-weight: bold;
  display: inline-block;
  font-size: 2rem;
  border-bottom: 1px solid #333;
  margin-bottom: 60px;
}

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px;
  height: 100px;
}

header .logo {
  width: 180px;
}

header .logo img {
  width: 100%;
}

header ul {
  display: flex;
  align-items: center;
  justify-content: center;
}

header ul li {
  margin-right: 20px;
}

header ul li:last-child {
  margin-right: none;
}

main {
  margin-bottom: 80px;
}

main #mv {
  width: 100%;
  margin-bottom: 80px;
}

main #mv img {
  width: 100%;
  height: 70vh;
  object-fit: cover;
}

main #menu {
  padding-top: 80px;
}

main #menu .imgWrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: left;
}

main #menu .imgWrap .img {
  width: 48%;
  margin-bottom: 30px;
}

main #menu .imgWrap .img img {
  width: 100%;
  margin-bottom: 20px;
}

main #menu .imgWrap .img .menuTitle {
  font-weight: bold;
  margin-bottom: 10px;
}

main #shop {
  padding-top: 80px;
  padding-bottom: 80px;
}

main #shop .shopWrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

main #shop .shopWrap .address {
  margin-right: 30px;
  text-align: left;
}

main #shop .shopWrap .img img {
  width: 100px;
  height: 100px;
  display: block;
  border-radius: 50%;
}

footer {
  background-color: #271309;
  padding: 60px 0 10px;
  text-align: center;
}

footer .source {
  display: flex;
  justify-content: end;
}

footer .source a {
  font-size: 0.8rem;
  padding: 10px 30px;
  border: 1px solid #fff;
  color: #fff;
  margin: 0 2px 20px;
}

footer .copy {
  color: #fff;
  font-size: 0.8rem;
}

@media screen and (max-width: 600px) {
  body {
    font-size: 0.9rem;
  }
  .section-title {
    font-size: 1.4rem;
  }
  header .logo {
    width: 150px;
  }
  main {
    margin-bottom: 40px;
  }
  main #mv {
    margin-bottom: 40px;
  }
  main #menu {
    padding-top: 40px;
  }
  main #menu .imgWrap {
    flex-direction: column;
  }
  main #menu .imgWrap .img {
    width: 100%;
  }
  main #shop {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  main #shop .shopWrap {
    flex-direction: column;
  }
  main #shop .shopWrap .img {
    display: none;
  }
  main #shop .shopWrap .address {
    margin-right: 0;
  }
  footer .source {
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 20px;
  }
  footer .source a {
    width: 49.5%;
    margin: 0 0 2px;
  }
}
        
TOPページへ戻る