1. First, we need fresh reactjs setup, and for that, we need to run below commands into out terminal, and also we should have latest node version installed on our system:
npx create-react-app my-awesome-project
cd my-awesome-project
npm start
2. Now we need to run below commands into our project terminal to get bootstrap and related modules into our reactjs application:
npm install [email protected] --save
npm start //For start project again
3. Finally for the main output, we need to add below code into our my-awesome-project/src/App.js file or if you have fresh setup then you can replace my-awesome-project/src/App.js file code with below code:
import React from 'react';
import './App.css';
import 'bootstrap/dist/css/bootstrap.min.css';
function App() {
return (
<div>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="container mb80">
<div class="page-timeline">
<div class="vtimeline-point">
<div class="vtimeline-icon">
<i class="fa fa-image"></i>
</div>
<div class="vtimeline-block">
<span class="vtimeline-date">June 25, 2017</span><div class="vtimeline-content">
<a href="#/"><img src="https://www.bootdey.com/image/700x400" alt="" class="img-fluid mb20"/></a>
<a href="#/"><h3>Standard post title</h3></a>
<ul class="post-meta list-inline">
<li class="list-inline-item">
<i class="fa fa-user-circle-o"></i> <a href="#/">John Doe</a>
</li>
<li class="list-inline-item">
<i class="fa fa-calendar-o"></i> <a href="#/">29 June 2017</a>
</li>
<li class="list-inline-item">
<i class="fa fa-tags"></i> <a href="#/">Bootstrap4</a>
</li>
</ul>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
</p><br/>
<a href="#/" class="btn btn-outline-secondary btn-sm">Read More</a>
</div>
</div>
</div>
<div class="vtimeline-point">
<div class="vtimeline-icon">
<i class="fa fa-image"></i>
</div>
<div class="vtimeline-block">
<span class="vtimeline-date">June 25, 2017</span><div class="vtimeline-content">
<div class="embed-responsive embed-responsive-21by9 mb20">
<iframe src="https://www.youtube.com/embed/htPYk6QxacQ?ecver=2" style={{/*position:absolute;width:100%;height:100%;left:0*/}} width="640" height="360" frameborder="0" allowfullscreen=""></iframe>
</div>
<a href="#/"><h3>Standard post title</h3></a>
<ul class="post-meta list-inline">
<li class="list-inline-item">
<i class="fa fa-user-circle-o"></i> <a href="#/">John Doe</a>
</li>
<li class="list-inline-item">
<i class="fa fa-calendar-o"></i> <a href="#/">29 June 2017</a>
</li>
<li class="list-inline-item">
<i class="fa fa-tags"></i> <a href="#/">Bootstrap4</a>
</li>
</ul>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
</p><br/>
<a href="#/" class="btn btn-outline-secondary btn-sm">Read More</a>
</div>
</div>
</div>
<div class="vtimeline-point">
<div class="vtimeline-icon">
<i class="fa fa-image"></i>
</div>
<div class="vtimeline-block">
<span class="vtimeline-date">June 25, 2017</span><div class="vtimeline-content">
<a href="#/"><img src="https://www.bootdey.com/image/700x400" alt="" class="img-fluid mb20"/></a>
<a href="#/"><h3>Standard post title</h3></a>
<ul class="post-meta list-inline">
<li class="list-inline-item">
<i class="fa fa-user-circle-o"></i> <a href="#/">John Doe</a>
</li>
<li class="list-inline-item">
<i class="fa fa-calendar-o"></i> <a href="#/">29 June 2017</a>
</li>
<li class="list-inline-item">
<i class="fa fa-tags"></i> <a href="#/">Bootstrap4</a>
</li>
</ul>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur in iaculis ex. Etiam volutpat laoreet urna. Morbi ut tortor nec nulla commodo malesuada sit amet vel lacus. Fusce eget efficitur libero. Morbi dapibus porta quam laoreet placerat.
</p><br/>
<a href="#/" class="btn btn-outline-secondary btn-sm">Read More</a>
</div>
</div>
</div>
</div>
</div>
</div>
);
}
export default App;
4. Now we need to add below code into our my-awesome-project/src/App.css file :
body{
margin-top:20px;
background:#f3f3f3;
}
/*
Timeline
*/
.page-timeline {
margin: 30px auto 0 auto;
position: relative;
max-width: 1000px;
}
.page-timeline:before {
position: absolute;
content: '';
top: 0;
bottom: 0;
left: 303px;
right: auto;
height: 100%;
width: 3px;
background: #3498db;
z-index: 0;
-webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2),0 6px 10px 0 rgba(0,0,0,0.3);
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2),0 6px 10px 0 rgba(0,0,0,0.3);
}
.page-timeline:after {
position: absolute;
content: '';
width: 3px;
height: 40px;
background: #3498db;
background: -webkit-linear-gradient(top, #4782d3, rgba(52, 152, 219, 0));
background: linear-gradient(to bottom, #4782d3, rgba(52, 152, 219, 0));
top: 100%;
left: 303px;
-webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2),0 6px 10px 0 rgba(0,0,0,0.3);
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2),0 6px 10px 0 rgba(0,0,0,0.3);
}
.vtimeline-content {
margin-left: 350px;
background: #fff;
border: 1px solid #e6e6e6;
padding: 35px 20px;
border-radius: 3px;
text-align: left;
-webkit-box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2),0 6px 10px 0 rgba(0,0,0,0.3);
box-shadow: 0 2px 2px 0 rgba(0,0,0,0.2),0 6px 10px 0 rgba(0,0,0,0.3);
}
.vtimeline-content h3 {
font-size: 1.5em;
font-weight: 600;
display: inline-block;
margin: 0;
}
.vtimeline-content p {
font-size: 0.9em;
margin: 0;
}
.vtimeline-point {
position: relative;
display: block;
vertical-align: top;
margin-bottom: 30px;
}
.vtimeline-icon {
position: relative;
color: #fff;
width: 50px;
height: 50px;
background: #4782d3;
border-radius: 50%;
float: left;
text-align: center;
line-height: 50px;
z-index: 99;
margin-left: 280px;
}
.vtimeline-icon i {
display: block;
font-size: 1.5em;
line-height: 50px;
}
.vtimeline-date {
width: 260px;
text-align: right;
position: absolute;
left: 0;
top: 10px;
font-weight: 400;
color: #374054;
}
.post-meta {
padding-top: 15px;
margin-bottom: 20px;
}
.post-meta li:not(:last-child) {
margin-right: 10px;
}
h3 {
font-family: "Montserrat", sans-serif;
color: #252525;
font-weight: 700;
font-variant-ligatures: common-ligatures;
margin-top: 0;
letter-spacing: -0.2px;
line-height: 1.3;
}
.mb20 {
margin-bottom: 20px !important;
}