[パーツ]タイムライン アイテムごとに吹き出しで表示

CSS HTML
 
 

アイテムごとに吹き出しで表示

レスポンシブ対応。ウィンドウ幅768px以下で吹き出しのアイテムが右にラインが左に移動します。

browser:  ✔︎ ✔︎ ✔︎ 
ニャン易度 

2017

  • あんなこと

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

    2017/12/12

  • こんなこと

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    2017/06/06

  • そんなこと

    I was just sick of Josh

    2017/03/03

  • そういやこんなこと

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

    2017/01/01

2016

  • 思い出したこんなこと

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

    2016/12/12

  • もはや走馬灯

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

    2016/10/10

<div class="cp_timeline02">
  <h2>2017</h2>
  <ul>
    <li>
      <p class="flag">タイトル</p>
      <p class="desc">内容</p>
      <p class="time">2017/12/12</p>
    </li>
    <li>
      <p class="flag">タイトル</p>
      <p class="desc">内容</p>
      <p class="time">2017/06/06</p>
    </li>
    <li>
      <p class="flag">タイトル</p>
      <p class="desc">内容</p>
      <p class="time">2017/03/03</p>
    </li>
    <li>
      <p class="flag">タイトル</p>
      <p class="desc">内容</p>
      <p class="time">2017/01/01</p>
    </li>
  </ul>
  <h2>2016</h2>
  <ul>
    <li>
      <p class="flag">タイトル</p>
      <p class="desc">内容</p>
      <p class="time">2016/12/12</p>
    </li>
    <li>
      <p class="flag">タイトル</p>
      <p class="desc">内容</p>
      <p class="time">2016/10/10</p>
    </li>
  </ul>
</div>
.cp_timeline02 {
  position: relative;
  margin: 3em auto;
  overflow: auto;
}
.cp_timeline02:before {
  position: absolute;
  left: 50%;
  width: 5px;
  height: 100%;
  content: '';
  background: #EF6C00;
}
.cp_timeline02 h2 {
  position: relative;
  clear: both;
  max-width: 6em;
  margin: 0 auto 1em;
  padding: .1em;
  text-align: center;
  background: #FFC107;
  border-radius: 8px;
  font-size: 1.2em;
}
.cp_timeline02 ul {
  max-width: calc(100% - 4em);
  margin: 0;
  padding: 0 0 0 2em;
  list-style: none;
}
.cp_timeline02 li {
  position: relative;
  margin-bottom: 1em;
  padding: 1em;
  background: #FFF8E1;
  width: 42%;
  border-radius: 8px;
  border: solid 1px rgba(255,202,40 ,1);
}
.cp_timeline02 li:before {
  position: absolute;
  top: 12px;
  left: -14px;
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 15px 10px 0;
  border-color: transparent #FFF8E1 transparent transparent;
  z-index: 1;
}
.cp_timeline02 li:after {
  position: absolute;
  top: 12px;
  left: -16px;
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 15px 10px 0;
  border-color: transparent #FFCA28 transparent transparent;
  z-index: 0;
}
.cp_timeline02 li:nth-child(even) {
  float: right;
  margin-top: 2em;
}
.cp_timeline02 li:nth-child(odd) {
  float: left;
}
.cp_timeline02 li:nth-child(odd):before {
  right: -14px;
  left: auto;
  border-width: 10px 0 10px 15px;
  border-color: transparent transparent transparent #FFF8E1;
}
.cp_timeline02 li:nth-child(odd):after {
  position: absolute;
  right: -16px;
  left: auto;
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 15px;
  border-color: transparent transparent transparent #FFCA28;
  z-index: 0;
}
.cp_timeline02 li:nth-of-type(2n+1) {
  clear: both;
}
.cp_timeline02 li .flag {
  padding: 0;
  margin: 0;
  font-weight: bold;
}
.cp_timeline02 li .desc {
  font-size: 0.7em;
  line-height: 1.5em;
}
.cp_timeline02 li .time {
  font-size: 0.6em;
  color: #00838F;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .cp_timeline02:before {
    left: 0;
  }
  .cp_timeline02 ul {
    z-index: 1;
    padding: 0 0 0 1.5em;
  }
  .cp_timeline02 li {
    width: 100%;
  }
  .cp_timeline02 li:nth-child(even),
  .cp_timeline02 li:nth-child(odd) {
    float: none;
  }
  .cp_timeline02 li:nth-child(odd):before {
    right: auto;
    left: -14px;
    border-width: 10px 15px 10px 0;
    border-color: transparent #FFF8E1 transparent transparent;
  }
  .cp_timeline02 li:nth-child(odd)::after {
    right: auto;
    left: -16px;
    border-width: 10px 15px 10px 0;
    border-color: transparent #FFCA28 transparent transparent;
  }
}

copypet.jp

CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。

More Info

こんな記事はいかがですか?