Responsive Vertical Timeline
by Grobbert
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="container py-5">
<!-- Header -->
<div class="row text-center text-white mb-5">
<div class="col-lg-8 mx-auto">
<h1 class="display-4">Responsive Vertical Timeline</h1>
</div>
</div><!-- End -->
<div class="row">
<div class="col-lg-7 mx-auto">
<!-- Timeline -->
<ul class="timeline">
<li class="timeline-item bg-white rounded ml-3 p-4 shadow">
<div class="timeline-carret"></div>
<h2 class="h5 mb-0">Lorem ipsum dolor sit amet</h2><span class="small text-gray"><i class="fa fa-clock-o mr-1"></i>21 July 2020</span>
<p class="text-small mt-2 font-weight-light">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque scelerisque diam non nisi semper, et elementum lorem ornare. Maecenas placerat facilisis mollis. Duis sagittis ligula in sodales vehicula....</p>
</li>
<li class="timeline-item bg-white rounded ml-3 p-4 shadow">
<div class="timeline-carret"></div>
<h2 class="h5 mb-0">Lorem ipsum dolor sit amet</h2><span class="small text-gray"><i class="fa fa-clock-o mr-1"></i>5 August 2020</span>
<p class="text-small mt-2 font-weight-light">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque scelerisque diam non nisi semper.</p>
<p class="text-small mt-2 font-weight-light">Libero expedita explicabo eius...
CSS
/* Timeline holder */
ul.timeline {
list-style-type: none;
position: relative;
padding-left: 1.5rem;
}
/* Timeline vertical line */
ul.timeline:before {
content: ' ';
background: #fff;
display: inline-block;
position: absolute;
left: 16px;
width: 4px;
height: 100%;
z-index: 400;
border-radius: 1rem;
}
li.timeline-item {
margin: 20px 0;
}
/* Timeline item carret */
.timeline-carret {
border-top: 0.5rem solid transparent;
border-right: 0.5rem solid #fff;
border-bottom: 0.5rem solid transparent;
display: block;
position: absolute;
left: 2rem;
}
/* Timeline item circle marker */
li.timeline-item::before {
content: ' ';
background: #14e55b;
display: inline-block;
position: absolute;
border-radius: 50%;
border: 3px solid #fff;
left: 11px;
width: 14px;
height: 14px;
z-index: 400;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
/* Header */
body {
background: #14e55b;
background: -webkit-linear-gradient(to right, #14e55b, #636FA4);
background: linear-gradient(to right, #14e55b, #636FA4);
min-height: 100vh;
}
.text-gray {
color: #999;
}