HTML, CSS のみでタイムラインを作りたい スマホ対応

これは何?

HTML, CSS のみで単純なタイムラインのスタイルを作成するコードの紹介です。

カラミーショップや制限のあるWordrpress などでピュアなHTML, CSS で実装しなければならない場合に使えると思います。

スマホ対応にもしています。よければお使いください。

コードの紹介

以下のコードで実装すると次のような見た目のものが実装できます。
最低限のスタイルですので適宜いじっていただければと思います。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>timeline</title>
  <link rel="stylesheet" href="./style.css">
</head>
<body>
  <div class="container">
    <!-- item box LEFT ここを繰り返す -->
    <div class="timeline__container">
      <div class="timeline__textBox">
        <div class="timeline__textBox__text left">
          text
        </div>
      </div>
      <div class="timeline__line">
        <div class="timeline__dot"></div>
      </div>
      <div class="timeline__date">
        2024
      </div>
    </div>
    <!-- item box 終わり -->

    <!-- item box RIGHT ここを繰り返す -->
    <div class="timeline__container">

      <div class="timeline__date left">
        2024
      </div>
      
      <div class="timeline__line">
        <div class="timeline__dot"></div>
      </div>

      <div class="timeline__textBox">
        <div class="timeline__textBox__text right">
          text
        </div>
      </div>
    </div>
    <!-- item box 終わり -->

    <!-- item box  LEFT ここを繰り返す -->
    <div class="timeline__container">
      <div class="timeline__textBox">
        <div class="timeline__textBox__text left">
          text
        </div>
      </div>
      <div class="timeline__line">
        <div class="timeline__dot"></div>
      </div>
      <div class="timeline__date">
        2024
      </div>
    </div>
    <!-- item box 終わり -->

    <!-- item box LEFT ここを繰り返す -->
    <div class="timeline__container">
      <div class="timeline__textBox">
        <div class="timeline__textBox__text left">
          text
        </div>
      </div>
      <div class="timeline__line">
        <div class="timeline__dot"></div>
      </div>
      <div class="timeline__date">
        2024
      </div>
    </div>
    <!-- item box 終わり -->
  </div>
</body>
</html>
.timeline__container {
  display: grid;
  grid-template-columns: 1fr 150px 1fr;
  grid-template-rows: 1fr;
}

.timeline__textBox {
}

.left {
  margin-left: auto;
}

.right {
  margin-right: auto;
}

.timeline__textBox__text {
  background-color: rgb(224, 231, 233);
  max-width: 370px;
  padding: 32px;
  border-radius: 16px;
  margin-top: 8px;
  margin-bottom: 8px;
}

.timeline__line {
  height: 100%;
  display: flex;
  justify-content: center;
  position: relative;
}

.timeline__line::after {
  content: '';
  background-color: rgb(72, 176, 255);
  width: 4px;
  height: 100%;
}

.timeline__dot {
  width: 16px;
  height: 16px;
  background-color: rgb(72, 176, 255);
  border-radius: 999px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.timeline__date {
  display: flex;
  align-items: center;
  color: gray;
  font-style: italic;
}

/* スマホ版のスタイル */
@media (max-width: 768px) {
  .timeline__container {
    grid-template-columns: 100px 70px 1fr;
  }

  .timeline__textBox {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
  }

  .timeline__date {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .timeline__line {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .left, .right {
    margin-left: 0;
    margin-right: 0;
  }
}

coiai.netでは案件受付中です。
Vtuber、建築モデリング、EC構築、ネイティブアプリ制作、制服の制作(実は縫製業もメイン)、Vision Pro向けアプリ etc…
様々な制作開発を行っています。

ご気軽にご相談ください!

コイアイちゃんのアバター

この記事を書いたのは


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Top
Blog
Works
contact