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">
<div class="row">
<div class="col-md-9">
<ul class="gallery-list">
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/6495ED" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Quisque a eleifend est, quis accumsan metus.</h5>
<small class="text-muted">24/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/5F9EA0" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Nunc posuere augue vitae mi egestas, in suscipit risus aliquet.</h5>
<small class="text-muted">24/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/8A2BE2" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Mauris erat odio, ullamcorper non lacus ac, pulvinar aliquet eros.</h5>
<small class="text-muted">25/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/FF7F50" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Maecenas ornare, purus nec egestas dapibus, sem erat dapibus tellus.</h5>
<small class="text-muted">25/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/00FFFF" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Sed nec justo condimentum, gravida massa id, elementum mauris.</h5>
<small class="text-muted">27/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/8FBC8F" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Donec eget velit quis libero congue blandit.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/483D8B" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Fusce suscipit suscipit nisi eu tempus.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/00CED1" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Cras interdum nisl ut lacus accumsan varius.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/FF1493" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Praesent quis porta sapien.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/9400D3" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Duis pulvinar est ac sem tincidunt dictum.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/E9967A" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Praesent tempor iaculis dolor.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/FF69B4" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Pellentesque feugiat varius magna at rutrum.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/E6E6FA" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Fusce dictum nulla in nunc finibus.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/ADD8E6" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Duis pulvinar est ac sem tincidunt dictum.</h5>
<small class="text-muted">28/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/87CEFA" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Phasellus consequat tortor vitae magna iaculis.</h5>
<small class="text-muted">29/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/20B2AA" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Praesent pretium tempor ante sit amet finibus.</h5>
<small class="text-muted">29/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/FAFAD2" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Vestibulum egestas placerat purus.</h5>
<small class="text-muted">30/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/D3D3D3" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Aliquam consequat blandit purus quis sodales.</h5>
<small class="text-muted">31/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/F08080" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Lorem ipsum dolor sit amet.</h5>
<small class="text-muted">31/08/2015</small>
</div>
</div>
</li>
<li>
<div class="image-container">
<div class="image">
<img src="https://www.bootdey.com/image/200x200/48D1CC" alt=""/>
</div>
<div class="btn-list">
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-search-plus"></i></a>
<a href="#/" class="btn btn-white btn-xs"><i class="fa fa-cog"></i></a>
</div>
<div class="info">
<h5>Suspendisse varius est dui.</h5>
<small class="text-muted">31/08/2015</small>
</div>
</div>
</li>
</ul>
</div>
<div class="col-md-3">
<div class="panel p-20">
<h5 class="m-t-0">Search Images</h5>
<form class="form-input-flat">
<div class="input-group m-b-15">
<input type="text" class="form-control" placeholder="Enter keywords..."/>
<div class="input-group-btn">
<button type="submit" class="btn btn-default"><i class="fa fa-search"></i></button>
</div>
</div>
</form>
<div class="horizontal-divider m-0 m-b-15"></div>
<h5 class="m-t-0">Filter By Category</h5>
<form class="form-input-flat">
<div class="form-group m-b-15">
<select class="form-control">
<option value="">All Category</option>
<option value="">Nature</option>
<option value="">Car</option>
<option value="">People</option>
<option value="">Food</option>
</select>
</div>
</form>
<div class="horizontal-divider m-0 m-b-15"></div>
<h5 class="m-t-0">Tags</h5>
<ul class="tag-list m-b-10">
<li><a href="#/">Forest</a></li>
<li><a href="#/">Animals</a></li>
<li><a href="#/">People</a></li>
<li><a href="#/">Technology</a></li>
<li><a href="#/">iPhone</a></li>
<li><a href="#/">Food</a></li>
<li><a href="#/">Media</a></li>
<li><a href="#/">Building</a></li>
<li><a href="#/">Camera</a></li>
<li><a href="#/">Insect</a></li>
<li><a href="#/">Food & Drink</a></li>
<li><a href="#/">Nature</a></li>
<li><a href="#/">Objects</a></li>
<li><a href="#/">Car</a></li>
</ul>
<div class="horizontal-divider m-0 m-b-15"></div>
<div class="text-center">
<a href="#/" class="btn btn-rounded btn-default btn-sm"><i class="fa fa-plus"></i> Upload New Images</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:#eee;
}
.p-20, .wrapper {
padding: 20px!important;
}
.btn.btn-white {
color: #30373e;
background: #fff;
-webkit-box-shadow: 0 1px #b1b5b8;
box-shadow: 0 1px #b1b5b8;
}
.gallery-list {
list-style-type: none;
margin: -5px -5px 15px;
padding: 0
}
.gallery-list>li {
float: left;
width: 20%;
padding: 5px
}
.gallery-list>li .image-container {
border-radius: 5px;
background: #fff;
position: relative;
-webkit-box-shadow: 0 2px 0 rgba(0, 0, 0, .07);
box-shadow: 0 2px 0 rgba(0, 0, 0, .07)
}
.gallery-list>li .image {
padding-top: 60%;
position: relative;
overflow: hidden;
border-radius: 5px 5px 0 0
}
.gallery-list>li .image img {
max-width: 100%;
position: absolute;
top: 0;
left: 0;
right: 0;
z-index: 1000
}
.gallery-list>li .btn-list {
position: absolute;
left: 10px;
top: 10px;
right: 10px;
z-index: 1020
}
.gallery-list>li .info {
padding: 8px 10px
}
.gallery-list>li .info * {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis
}
.gallery-list>li .info h5 {
margin: 0;
font-size: 12px
}
@media (max-width:991px) {
.gallery-list>li {
width: 33.33%
}
}
@media (max-width:480px) {
.gallery-list>li {
width: 50%
}
}
.tag-list {
list-style-type: none;
margin: 0;
padding: 0
}
.tag-list>li {
float: left;
margin-right: 5px;
margin-bottom: 5px
}
.tag-list>li a,
.tag-list>li span {
border: 2px solid #ebeced;
border-radius: 40px;
color: #30373e;
font-size: 11px;
padding: 2px 8px;
display: block
}
.tag-list>li.active a,
.tag-list>li.active span {
color: #30373e;
border-color: #30373e
}