如何创建:时间线

学习如何使用 CSS 创建响应式“时间线”。

时间线

2017

Lorem ipsum dolor sit amet, quo ei simul congue exerci, ad nec admodum perfecto mnesarchum, vim ea mazim fierent detracto. Ea quis iuvaret expetendis his, te elit voluptua dignissim per, habeo iusto primis ea eam.

2016

Lorem ipsum dolor sit amet, quo ei simul congue exerci, ad nec admodum perfecto mnesarchum, vim ea mazim fierent detracto. Ea quis iuvaret expetendis his, te elit voluptua dignissim per, habeo iusto primis ea eam.

2015

Lorem ipsum dolor sit amet, quo ei simul congue exerci, ad nec admodum perfecto mnesarchum, vim ea mazim fierent detracto. Ea quis iuvaret expetendis his, te elit voluptua dignissim per, habeo iusto primis ea eam.

تجربة يدويًا

如何创建时间线

第一步 - 添加 HTML:

<div class="timeline">
  <div class="container left">
    <div class="content">
      <h2>2017</h2>
      <p>Lorem ipsum..</p>
    </div>
  </div>
  <div class="container right">
    <div class="content">
      <h2>2016</h2>
      <p>Lorem ipsum..</p>
    </div>
  </div>
</div>

第二步 - 添加 CSS:

* {
  box-sizing: border-box;
}
/* 设置背景颜色 */
body {
  background-color: #474e5d;
  font-family: Helvetica, sans-serif;
}
/* 实际时间线(垂直标尺) */
.timeline {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}
/* 实际时间线(垂直标尺) */
.timeline::after {
  content: '';
  position: absolute;
  width: 6px;
  background-color: white;
  top: 0;
  bottom: 0;
  left: 50%;
  margin-left: -3px;
}
/* 包围内容的容器 */
.container {
  padding: 10px 40px;
  position: relative;
  background-color: inherit;
  width: 50%;
}
/* 时间线上的圆圈 */
.container::after {
  content: '';
  position: absolute;
  width: 25px;
  height: 25px;
  right: -17px;
  background-color: white;
  border: 4px solid #FF9F55;
  top: 15px;
  border-radius: 50%;
  z-index: 1;
}
/* 将容器置于在左侧 */
.left {
  left: 0;
}
/* أضع الصندوق على اليمين */
.right {
  left: 50%;
}
/* أضف السهم إلى الصندوق اليسرى (تشير إلى اليمين) */
.left::before {
  content: " ";
  height: 0;
  position: absolute;
  top: 22px;
  width: 0;
  z-index: 1;
  right: 30px;
  border: medium solid white;
  border-width: 10px 0 10px 10px;
  border-color: شفاف شفاف شفاف أبيض;
}
/* أضف السهم إلى الصندوق اليمنى (تشير إلى اليسار) */
.right::before {
  content: " ";
  height: 0;
  position: absolute;
  top: 22px;
  width: 0;
  z-index: 1;
  left: 30px;
  border: medium solid white;
  border-width: 10px 10px 10px 0;
  border-color: شفاف أبيض شفاف شفاف;
}
/* تصحيح موقع الدوائر في الصندوق اليمنى */
.right::after {
  left: -16px;
}
/* المحتوى الفعلي */
.content {
  padding: 20px 30px;
  background-color: white;
  position: relative;
  border-radius: 6px;
}
/* استعلام وسائل الاعلام - خط الزمني الاستجابة للشاشات التي عرضها أقل من 600 بكسل */
@media screen and (max-width: 600px) {
/* ضع الزمنية على اليسار */
  .timeline::after {
    left: 31px;
  }
/* صندوق واسع الكامل */
  .container {
    width: 100%;
    padding-left: 70px;
    padding-right: 25px;
  }
/* يضمن أن تكون جميع الأسهم تشير إلى اليسار */
  .container::before {
    left: 60px;
    border: medium solid white;
    border-width: 10px 10px 10px 0;
    border-color: شفاف أبيض شفاف شفاف;
  }
/* يضمن أن تكون جميع الدوائر في نفس الموقع */
  .left::after, .right::after {
    left: 15px;
  }
/* يجعل سلوك جميع الصناديق اليمنى مثل الصناديق اليسرى */
  .right {
    left: 0%;
  }
}

تجربة يدويًا