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="row">
<div class="col-md-12">
<div id="grid" class="row">
<div class="mix col-sm-3 page1 page4 margin30">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/FFB6C1/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
<div class="mix col-sm-3 page2 page3 margin30">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/20B2AA/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
<div class="mix col-sm-3 page3 page2 margin30 ">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/87CEFA/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
<div class="mix col-sm-3 page4 margin30">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/EE82EE/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
<div class="mix col-sm-3 page1 margin30 ">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/#FF6347/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
<div class="mix col-sm-3 page2 margin30">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/008080/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
<div class="mix col-sm-3 page3 margin30">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/DDA0DD/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
<div class="mix col-sm-3 page4 margin30">
<div class="item-img-wrap ">
<img src="https://www.bootdey.com/image/312x315/FFA500/000000" class="img-responsive" alt="workimg"/>
<div class="item-img-overlay">
<a href="#/" class="show-image">
<span></span>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row gallery-bottom">
<div class="col-sm-6">
<ul class="pagination">
<li>
<a href="#/" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
<li class="active"><a href="#/">1</a></li>
<li><a href="#/">2</a></li>
<li><a href="#/">3</a></li>
<li><a href="#/">4</a></li>
<li><a href="#/">5</a></li>
<li>
<a href="#/" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</div>
<div class="col-sm-6 text-right">
<em>Displaying 1 to 8 (of 100 posts)</em>
</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;}
.margin30 {
margin-bottom: 30px;
}
.item-img-wrap {
position: relative;
text-align: center;
overflow: hidden;
}
.item-img-wrap img {
-moz-transition: all 200ms linear;
-o-transition: all 200ms linear;
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
width: 100%;
}
/************************image hover effect*******************/
.item-img-wrap {
position: relative;
text-align: center;
overflow: hidden;
}
.item-img-wrap img {
-moz-transition: all 200ms linear;
-o-transition: all 200ms linear;
-webkit-transition: all 200ms linear;
transition: all 200ms linear;
width: 100%;
}
.item-img-overlay {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
.item-img-overlay span {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background: url(http://bootstraplovers.com/templates/assan-2.2/main-template/img/plus.png) no-repeat center center rgba(0, 0, 0, 0.7);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
-moz-transition: opacity 250ms linear;
-o-transition: opacity 250ms linear;
-webkit-transition: opacity 250ms linear;
transition: opacity 250ms linear;
}
.item-img-wrap:hover .item-img-overlay span {
opacity: 1;
}
.item-img-wrap:hover img {
-moz-transform: scale(1.1);
-o-transform: scale(1.1);
-ms-transform: scale(1.1);
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
/*************pagination***********/
.gallery-bottom .pagination {
margin-top: 0px;
}
.pagination > li > a, .pagination > li > span {
background-color: #ccc;
padding: 3px 9px;
color: #fff;
border: 0px;
}
.pagination > li > a {
margin-right: 5px;
}
.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
background-color: #32c5d2;
}