サイト模写 | Cosme(サイトTOPページ)

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

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

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

MEMO

1.body

  • 最大幅1000px
  • 背景にドット画像をリピートで表示
  • 左右の余白は画面の2%スマホは4%
  • ページ内メインカラーを#ed7483
  • 各セクション下にmore readボタンを配置

2.ヘッダー

  • 右上にお問い合わせボタンを配置
  • スマホの際は非表示
  • スマホの際高さは150px、メニューは幅50%

3.メインビジュアル

  • 横幅いっぱい
  • 画面の高さはヘッダーを含めて100%表示

4.人気のカテゴリー

  • 高さをずらした横並び配置
  • コンテンツ左右にpaddingを10%
  • スマホの際は、画像とテキストを縦表示

5.今週の人気ブランド

  • 画像とテキストを横並び配置
  • 画像の高さは400px固定にし、画像をテキストの上に重ねる
  • スマホの際は、画像とテキストを縦表示

6.今週のクチコミ商品

  • コンテンツは横幅いっぱいで表示
  • 画像の高さは400px固定
  • テキストを画像の中間あたりから配置
  • スマホの際は、画像とテキストを縦表示

7.最新のコスメ記事

  • 記事を3カラムで表示し、間に罫線を引く
  • 日付はtimeタグを使用

8.レスポンシブ

  • ブレークポイントは900px

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>cosme|サイト模写</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 id="header">
    <div class="wrapper">
      <h1 class="logo">
        <a href="#"><img src="img/logo.png" alt=""></a>
      </h1>
      <ul>
        <li><a href="#category"><span>人気の</span>カテゴリー</a></li>
        <li><a href="#brands"><span>今週の</span>人気ブランド</a></li>
        <li><a href="#review"><span>今週の</span>クチコミ商品</a></li>
        <li><a href="#news"><span>最新の</span>コスメ記事</a></li>
      </ul>
    </div>
    <a href="#" class="contact">お問合せ</a>
  </header>
  <main>
    <div id="mv">
      <img src="img/mv.jpg" alt="">
    </div>
    <section id="category">
      <div class="wrapper">
        <h2 class="site-title">
          <span class="en">popular category</span>
          <span class="ja">人気のカテゴリー</span>
        </h2>
        <div class="imgWrap">
          <div class="left">
            <div class="img">
              <h3>lip<span>口紅</span></h3>
              <a href="#"><img src="img/01.jpg" alt=""></a>
            </div>
            <div class="img">
              <h3>foundation<span>ファンデーション</span></h3>
              <a href="#"><img src="img/02.jpg" alt=""></a>
            </div>
            <div class="img">
              <h3>manicure<span>マニュキア</span></h3>
              <a href="#"><img src="img/03.jpg" alt=""></a>
            </div>
          </div>
          <div class="right">
            <div class="img">
              <h3>eye shadow<span>アイシャドウ</span></h3>
              <a href="#"><img src="img/04.jpg" alt=""></a>
            </div>
            <div class="img">
              <h3>perfume<span>香水</span></h3>
              <a href="#"><img src="img/05.jpg" alt=""></a>
            </div>
            <div class="img">
              <h3>makeup goods<span>化粧雑貨</span></h3>
              <a href="#"><img src="img/06.jpg" alt=""></a>
            </div>
          </div>
        </div>
        <a class="moreread">READ MORE</a>
      </div>
    </section>

    <section id="brands">
      <div class="wrapper">
        <div class="wrap">
          <div class="txt">
            <h2 class="site-title">
              <span class="en">popular brands</span>
              <span class="ja">今週の人気ブランド</span>
            </h2>
            <h3>オーガニックなアイテムがそろうテキストテキストが人気</h3>
            <ul>
              <li>テキストテキストテキストテキストテキストテキスト</li>
              <li>テキストテキストテキストテキストテキストテキスト</li>
              <li>テキストテキストテキストテキストテキストテキスト</li>
            </ul>
            <a class="moreread">READ MORE</a>
          </div>
          <div class="img">
            <img src="img/brands.jpg" alt="">
          </div>
        </div>
      </div>
    </section>

    <section id="review">
      <div class="wrap">
        <div class="img">
          <img src="img/review.jpg" alt="">
        </div>
        <div class="txt">
          <h2 class="site-title">
            <span class="en">review</span>
            <span class="ja">今週のクチコミ商品</span>
          </h2>
          <h3>クチコミで人気のアイシャドー</h3>
          <p>テキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト</p>
          <a class="moreread">READ MORE</a>
        </div>
      </div>
    </section>

    <section id="news">
      <div class="wrapper">
        <h2 class="site-title">
          <span class="en">news</span>
          <span class="ja">最新のコスメ記事</span>
        </h2>
        <ul>
          <li>
            <div>
              <date>2021.10.10</date><span>NEWS</span>
            </div>
            <p>タイトルタイトルタイトルタイトル</p>
          </li>
          <li>
            <div>
              <date>2021.10.05</date><span>PICK UP</span>
            </div>
            <p>タイトルタイトルタイトルタイトル</p>
          </li>
          <li>
            <div>
              <date>2021.10.01</date><span>NEWS</span>
            </div>
            <p>タイトルタイトルタイトルタイトル</p>
          </li>
        </ul>
        <a class="moreread">READ MORE</a>
      </div>
    </section>
  </main>
  <footer id="footer">
    <div class="wrapper">
      <div class="source">
        <a href="index02.html#memo">MEMO</a>
        <a href="index02.html#html">HTML</a>
        <a href="index02.html#css">CSS</a>
      </div>
      <div class="wrap">
        <div class="logo">
          <a href="#"><img src="img/logo.png" alt=""></a>
        </div>
        <ul>
          <li><a href="#category">人気のカテゴリー</a></li>
          <li><a href="#brands">今週の人気ブランド</a></li>
          <li><a href="#review">今週のクチコミ商品</a></li>
          <li><a href="#news">最新のコスメ記事</a></li>
        </ul>
      </div>
      <p class="copy">© cosme</p>
    </div>
  </footer>
</body>
</html>

css

@charset "UTF-8";
html {
  font-size: 100%;
}

body {
  line-height: 1.6;
  color: #333;
  font-size: 0.9rem;
  background: url(img/back.png);
  background-repeat: repeat;
}

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

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

a:hover {
  opacity: 0.7;
}

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

.wrapper {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 2%;
}

section, #mv {
  margin-bottom: 120px;
}

.site-title {
  font-weight: normal;
  line-height: 1;
  margin-bottom: 60px;
}

.site-title::after {
  content: "";
  display: block;
  background-color: #ed7483;
  width: 60px;
  height: 6px;
}

.site-title .en {
  font-size: 2rem;
  display: block;
  margin-bottom: 10px;
}

.site-title .ja {
  font-size: 1.1rem;
  display: block;
  margin-bottom: 30px;
}

.moreread {
  font-size: 0.8rem;
  display: block;
  margin-top: 60px;
  padding: 5px 0;
  width: 200px;
  text-align: center;
  margin-left: calc(50% - 100px);
  color: #ed7483;
  border: 1px solid #ed7483;
}

#header {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#header .wrapper {
  display: flex;
  align-items: center;
}

#header .wrapper .logo {
  width: 180px;
  line-height: 1px;
}

#header .wrapper ul {
  display: flex;
  align-items: center;
}

#header .wrapper ul li {
  margin-left: 20px;
}

#header .wrapper ul li span {
  display: block;
  font-size: 0.7rem;
  margin-left: -5px;
  line-height: 1;
}

#header .wrapper ul li:first-child {
  margin-left: 50px;
}

#header .contact {
  background-color: #ed7483;
  color: #fff;
  width: 200px;
  height: 80px;
  line-height: 80px;
  text-align: center;
}

main #mv img {
  width: 100%;
  height: calc(100vh - 80px);
  object-fit: cover;
}

main #category .imgWrap {
  padding: 0 10%;
  display: flex;
}

main #category .imgWrap .left, main #category .imgWrap .right {
  width: calc(50% - 40px);
  margin: 0 20px;
}

main #category .imgWrap .left .img, main #category .imgWrap .right .img {
  margin-bottom: 30px;
}

main #category .imgWrap .left .img img, main #category .imgWrap .right .img img {
  border: 1px solid #ed7483;
}

main #category .imgWrap .left .img h3, main #category .imgWrap .right .img h3 {
  margin-left: 30px;
  font-weight: bold;
  position: relative;
  margin-bottom: 10px;
}

main #category .imgWrap .left .img h3::before, main #category .imgWrap .right .img h3::before {
  content: "";
  display: block;
  background-color: #ed7483;
  width: 15px;
  height: 5px;
  position: absolute;
  top: 8px;
  left: 0;
  margin-left: -30px;
}

main #category .imgWrap .left .img h3 span, main #category .imgWrap .right .img h3 span {
  font-weight: normal;
  font-size: 0.7rem;
  display: inline-block;
  margin-left: 10px;
}

main #category .imgWrap .left .img:last-child, main #category .imgWrap .right .img:last-child {
  margin-bottom: 0;
}

main #category .imgWrap .right {
  margin-top: 100px;
}

main #brands .wrap {
  display: flex;
}

main #brands .wrap .txt {
  background-color: #fff;
  border: 2px solid #ed7483;
  padding: 100px 10% 100px 5%;
  width: 50%;
}

main #brands .wrap .txt h3 {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 30px;
}

main #brands .wrap .txt ul li {
  margin-bottom: 15px;
}

main #brands .wrap .txt ul li::before {
  content: "・";
  color: #ed7483;
}

main #brands .wrap .txt ul li:last-child {
  margin-bottom: 0;
}

main #brands .wrap .img {
  width: 55%;
  margin-top: 120px;
  margin-left: -5%;
}

main #brands .wrap .img img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  z-index: 5;
}

main #review .wrap {
  display: flex;
}

main #review .wrap .img {
  width: 60%;
}

main #review .wrap .img img {
  width: 100%;
  height: 400px;
  object-fit: cover;
}

main #review .wrap .txt {
  width: 32%;
  margin: 160px 4% 0;
}

main #review .wrap .txt h3 {
  font-weight: bold;
  font-size: 1.2em;
  margin-bottom: 30px;
}

main #news ul {
  display: flex;
}

main #news ul li {
  padding-left: 20px;
  width: calc(100% / 3);
  border-right: 2px solid #ed7483;
}

main #news ul li:last-child {
  border-right: none;
}

main #news ul li span {
  background-color: #ed7483;
  padding: 0 10px;
  font-size: 0.7rem;
  color: #fff;
  margin-left: 10px;
  display: inline-block;
}

main #news ul li p {
  margin-top: 10px;
}

#footer {
  border-top: 2px solid #ed7483;
  padding: 100px 0 10px;
  background-color: #fff;
}

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

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

#footer .wrap {
  display: flex;
  justify-content: space-between;
}

#footer .wrap .logo {
  width: 180px;
}

#footer .wrap ul li {
  margin-bottom: 5px;
}

#footer .wrap ul li:last-child {
  margin-bottom: 0;
}

#footer .copy {
  font-size: 0.7rem;
}

@media screen and (max-width: 900px) {
  body {
    font-size: 0.85rem;
  }
  .wrapper {
    padding: 0 4%;
  }
  section, #mv {
    margin-bottom: 80px;
  }
  .site-title::after {
    width: 40px;
    height: 4px;
  }
  .site-title .en {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .site-title .ja {
    font-size: 0.8rem;
  }
  #header {
    height: 120px;
  }
  #header .wrapper {
    flex-direction: column;
    align-items: flex-start;
  }
  #header .wrapper .logo {
    width: 120px;
    margin-bottom: 10px;
  }
  #header .wrapper ul {
    font-size: 0.8rem;
    flex-wrap: wrap;
  }
  #header .wrapper ul li {
    width: 50%;
    margin-left: 0;
    margin-bottom: 10px;
  }
  #header .wrapper ul li span {
    display: inline-block;
    font-size: 0.8rem;
  }
  #header .wrapper ul li:first-child {
    margin-left: 0px;
  }
  #header .wrapper ul li:last-child, #header .wrapper ul li:nth-last-child(2) {
    margin-bottom: 0;
  }
  #header .contact {
    display: none;
  }
  main #category .imgWrap {
    flex-direction: column;
    padding: 0;
  }
  main #category .imgWrap .left {
    width: 100%;
    margin: 0;
  }
  main #category .imgWrap .left .img:last-child {
    margin-bottom: 30px;
  }
  main #category .imgWrap .right {
    margin: 0;
    width: 100%;
  }
  main #brands .wrap {
    flex-direction: column;
  }
  main #brands .wrap .txt {
    width: 100%;
    padding: 80px 5%;
  }
  main #brands .wrap .img {
    width: 100%;
    margin-top: 30px;
    margin-left: 0;
  }
  main #review {
    padding: 0 4%;
  }
  main #review .wrap {
    flex-direction: column-reverse;
  }
  main #review .wrap .img {
    width: 100%;
  }
  main #review .wrap .txt {
    width: 100%;
    margin: 0 0 30px;
  }
  main #news ul {
    flex-direction: column;
  }
  main #news ul li {
    width: 100%;
    border-right: none;
  }
  #footer .source {
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 20px;
  }
  #footer .source a {
    width: 49.5%;
    margin-bottom: 2px;
    margin: 0 0 2px;
  }
  #footer .wrap {
    flex-direction: column;
  }
  #footer .wrap .logo {
    width: 120px;
    margin-bottom: 20px;
  }
  #footer .wrap ul {
    margin-bottom: 30px;
  }
}

TOPページへ戻る