CSS3 实现时间轴动画

网站建设 2023-01-28 21:39www.1681989.com免费网站

实现效果

html

<h2>CSS3 Timele</h2>
<p>Please set the $vertical variable to false to see the horizontal version.</p>
<ul id='timele'>
  <li class='work'>
    <put class='radio' id='work5' name='works' type='radio' checked>
    <div class="relative">
      <label for='work5'>Lorem ipsum dolor sit amet</label>
      <span class='date'>12 May 2013</span>
      <span class='circle'></span>
    </div>
    <div class='content'>
      <p>
        Lorem ipsum dolor sit amet, consectetur adipisicg elit. Odio ea necessitatibus quo velit natus cupiditate qui alias possimus ab praesentium nostrum quidem obcaecati nesciunt! Molestiae officiis voluptate excepturi rem veritatis eum aliquam qui laborum non ipsam ullam tempore reprehenderit illum eligendi cumque mollitia temporibus! Natus dicta qui est optio rerum.
      </p>
    </div>
  </li>
  <li class='work'>
    <put class='radio' id='work4' name='works' type='radio'>
    <div class="relative">
      <label for='work4'>Lorem ipsum dolor sit amet</label>
      <span class='date'>11 May 2013</span>
      <span class='circle'></span>
    </div>
    <div class='content'>
      <p>
        Lorem ipsum dolor sit amet, consectetur adipisicg elit. Odio ea necessitatibus quo velit natus cupiditate qui alias possimus ab praesentium nostrum quidem obcaecati nesciunt! Molestiae officiis voluptate excepturi rem veritatis eum aliquam qui laborum non ipsam ullam tempore reprehenderit illum eligendi cumque mollitia temporibus! Natus dicta qui est optio rerum.
      </p>
    </div>
  </li>
  <li class='work'>
    <put class='radio' id='work3' name='works' type='radio'>
    <div class="relative">
      <label for='work3'>Lorem ipsum dolor sit amet</label>
      <span class='date'>10 May 2013</span>
      <span class='circle'></span>
    </div>
    <div class='content'>
      <p>
        Lorem ipsum dolor sit amet, consectetur adipisicg elit. Odio ea necessitatibus quo velit natus cupiditate qui alias possimus ab praesentium nostrum quidem obcaecati nesciunt! Molestiae officiis voluptate excepturi rem veritatis eum aliquam qui laborum non ipsam ullam tempore reprehenderit illum eligendi cumque mollitia temporibus! Natus dicta qui est optio rerum.
      </p>
    </div>
  </li>
  <li class='work'>
    <put class='radio' id='work2' name='works' type='radio'>
    <div class="relative">
      <label for='work2'>Lorem ipsum dolor sit amet</label>
      <span class='date'>09 May 2013</span>
      <span class='circle'></span>
    </div>
    <div class='content'>
      <p>
        Lorem ipsum dolor sit amet, consectetur adipisicg elit. Odio ea necessitatibus quo velit natus cupiditate qui alias possimus ab praesentium nostrum quidem obcaecati nesciunt! Molestiae officiis voluptate excepturi rem veritatis eum aliquam qui laborum non ipsam ullam tempore reprehenderit illum eligendi cumque mollitia temporibus! Natus dicta qui est optio rerum.
      </p>
    </div>
  </li>
  <li class='work'>
    <put class='radio' id='work1' name='works' type='radio'>
    <div class="relative">
      <label for='work1'>Lorem ipsum dolor sit amet</label>
      <span class='date'>08 May 2013</span>
      <span class='circle'></span>
    </div>
    <div class='content'>
      <p>
        Lorem ipsum dolor sit amet, consectetur adipisicg elit. Odio ea necessitatibus quo velit natus cupiditate qui alias possimus ab praesentium nostrum quidem obcaecati nesciunt! Molestiae officiis voluptate excepturi rem veritatis eum aliquam qui laborum non ipsam ullam tempore reprehenderit illum eligendi cumque mollitia temporibus! Natus dicta qui est optio rerum.
      </p>
    </div>
  </li>
</ul>

css

/ -------------------------------------
  For horizontal version, set the
  $vertical variable to false
  ------------------------------------- /
/ -------------------------------------
  General Style
  ------------------------------------- /
@import url(https://fonts.googleapis./css?family=Noto+Sans);
body {
  max-width: 1200px;
  marg: 0 auto;
  paddg: 0 5%;
  font-size: 100%;
  font-family: "Noto Sans", sans-serif;
  color: #eee9dc;
  background: #48b379;
}

h2 {
  marg: 3em 0 0 0;
  font-size: 1.5em;
  letter-spacg: 2px;
  text-transform: uppercase;
}

/ -------------------------------------
  timele
  ------------------------------------- /
#timele {
  list-style: none;
  marg: 50px 0 30px 120px;
  paddg-left: 30px;
  border-left: 8px solid #eee9dc;
}
#timele li {
  marg: 40px 0;
  position: relative;
}
#timele p {
  marg: 0 0 15px;
}

.date {
  marg-: -10px;
  : 50%;
  left: -158px;
  font-size: 0.95em;
  le-height: 20px;
  position: absolute;
}

.circle {
  marg-: -10px;
  : 50%;
  left: -44px;
  width: 10px;
  height: 10px;
  background: #48b379;
  border: 5px solid #eee9dc;
  border-radius: 50%;
  display: block;
  position: absolute;
}

.content {
  max-height: 20px;
  paddg: 50px 20px 0;
  border-color: transparent;
  border-width: 2px;
  border-style: solid;
  border-radius: 0.5em;
  position: relative;
}
.content:before, .content:after {
  content: "";
  width: 0;
  height: 0;
  border: solid transparent;
  position: absolute;
  poter-events: none;
  right: 100%;
}
.content:before {
  border-right-color: herit;
  border-width: 20px;
  : 50%;
  marg-: -20px;
}
.content:after {
  border-right-color: #48b379;
  border-width: 17px;
  : 50%;
  marg-: -17px;
}
.content p {
  max-height: 0;
  color: transparent;
  text-align: justify;
  word-break: break-word;
  hyphens: auto;
  overflow: hidden;
}

label {
  font-size: 1.3em;
  position: absolute;
  z-dex: 100;
  cursor: poter;
  : 20px;
  transition: transform 0.2s lear;
}

.radio {
  display: none;
}

.radio:checked + .relative label {
  cursor: auto;
  transform: translateX(42px);
}
.radio:checked + .relative .circle {
  background: #f98262;
}
.radio:checked ~ .content {
  max-height: 180px;
  border-color: #eee9dc;
  marg-right: 20px;
  transform: translateX(20px);
  transition: max-height 0.4s lear, border-color 0.5s lear, transform 0.2s lear;
}
.radio:checked ~ .content p {
  max-height: 200px;
  color: #eee9dc;
  transition: color 0.3s lear 0.3s;
}

/ -------------------------------------
  mobile phones (vertical version only)
  ------------------------------------- /
@media screen and (max-width: 767px) {
  #timele {
    marg-left: 0;
    paddg-left: 0;
    border-left: none;
  }
  #timele li {
    marg: 50px 0;
  }

  label {
    width: 85%;
    font-size: 1.1em;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
    transform: translateX(18px);
  }

  .content {
    paddg-: 45px;
    border-color: #eee9dc;
  }
  .content:before, .content:after {
    border: solid transparent;
    bottom: 100%;
  }
  .content:before {
    border-bottom-color: herit;
    border-width: 17px;
    : -16px;
    left: 50px;
    marg-left: -17px;
  }
  .content:after {
    border-bottom-color: #48b379;
    border-width: 20px;
    : -20px;
    left: 50px;
    marg-left: -20px;
  }
  .content p {
    font-size: 0.9em;
    le-height: 1.4;
  }

  .circle, .date {
    display: none;
  }
}

以上就是CSS3 实现时间轴动画的详细内容,更多关于CSS3 时间轴的资料请关注狼蚁SEO其它相关文章!

Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by