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>
<div class="container">
<div class="wrapper">
<div class="wrapper-cell">
<div class="image animated-background "></div>
<div class="text">
<div class="text-line animated-background "> </div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
</div>
</div>
<div class="wrapper-cell">
<div class="image animated-background "></div>
<div class="text">
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "> </div>
</div>
</div>
<div class="wrapper-cell">
<div class="image animated-background "></div>
<div class="text">
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
</div>
</div>
<div class="wrapper-cell">
<div class="image animated-background "></div>
<div class="text">
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
</div>
</div>
<div class="wrapper-cell">
<div class="image animated-background "></div>
<div class="text">
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
</div>
</div>
<div class="wrapper-cell">
<div class="image animated-background "></div>
<div class="text">
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
<div class="text-line animated-background "></div>
</div>
</div>
<p class="text-center">Credits: <a href="https://codepen.io/brucevang/pen/qZOPwR">Bruce vang</a></p>
</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: #E9E9E9;
display: flex;
align-items: center;
justify-content: center;
}
.wrapper {
margin: 30px;
padding: 30px;
background: #fff;
width: 360px;
height: 640px;
display: flex;
flex-direction: column;
}
.wrapper-cell {
display: flex;
margin-bottom: 30px;
}
@keyframes placeHolderShimmer{
0%{
background-position: -468px 0
}
100%{
background-position: 468px 0
}
}
.animated-background {
animation-duration: 1.25s;
animation-fill-mode: forwards;
animation-iteration-count: infinite;
animation-name: placeHolderShimmer;
animation-timing-function: linear;
background: #F6F6F6;
background: linear-gradient(to right, #F6F6F6 8%, #F0F0F0 18%, #F6F6F6 33%);
background-size: 800px 104px;
height: 96px;
position: relative;
}
.image {
height: 60px;
width: 60px;
@extend .animated-background;
}
.text {
margin-left: 20px
}
.text-line {
height: 10px;
width: 230px;
margin: 4px 0;
}