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="col-md-4">
<div class="widget-container">
<div class="widget row image-tile">
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/8A2BE2/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-8" style={{/*background: url('https://www.bootdey.com/image/400x200/6495ED/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/5F9EA0/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-8" style={{/*background: url('https://www.bootdey.com/image/400x200/FF7F50/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/008B8B/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/DC143C/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/FF8C00/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-8" style={{/*background: url('https://www.bootdey.com/image/400x200/00BFFF/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/008000/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-8" style={{/*background: url('https://www.bootdey.com/image/400x200/FF69B4/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile more-images col-xs-4">
<div class="images-number">42+</div>
Pictures
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="widget-container">
<div class="widget row image-tile">
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/FFF0F5/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-8" style={{/*background: url('https://www.bootdey.com/image/400x200/ADD8E6/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/F08080/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/FFB6C1/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-4" style={{/*background: url('https://www.bootdey.com/image/400x200/20B2AA/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile col-xs-8" style={{/*background: url('https://www.bootdey.com/image/400x200/B0C4DE/000000') no-repeat center top; background-size: cover;*/}}>
<p>view gallery </p>
</div>
<div class="tile more-images col-xs-4">
<div class="images-number">42+</div>
Pictures
</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;}
.widget-container {
-webkit-border-radius: 2px;
-webkit-background-clip: padding-box;
-moz-border-radius: 2px;
-moz-background-clip: padding;
border-radius: 2px;
background-clip: padding-box;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .07);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, .07);
box-shadow: 0 1px 2px rgba(0, 0, 0, .07);
margin-bottom: 30px
}
.widget-container .widget {
margin-bottom: 0
}
.widget-container>.row {
margin-right: 0 !important;
margin-left: 0 !important
}
.widget-container>.row>[class*="col-"] {
padding-left: 0 !important;
padding-right: 0 !important
}
.widget {
-webkit-border-radius: 2px;
-webkit-background-clip: padding-box;
-moz-border-radius: 2px;
-moz-background-clip: padding;
border-radius: 2px;
background-clip: padding-box;
background-color: #fff;
font-weight: 300;
margin-bottom: 30px;
position: relative;
vertical-align: middle
}
.widget .row {
font-size: 0;
margin-left: 0;
margin-right: 0
}
.widget .row:before {
display: none
}
.widget .row .col {
font-size: 11px
}
.widget .row .col:first-child {
-webkit-border-radius: 2px 0 0 2px;
-webkit-background-clip: padding-box;
-moz-border-radius: 2px 0 0 2px;
-moz-background-clip: padding;
border-radius: 2px 0 0 2px;
background-clip: padding-box
}
.widget .row .col:last-child {
-webkit-border-radius: 0 2px 2px 0;
-webkit-background-clip: padding-box;
-moz-border-radius: 0 2px 2px 0;
-moz-background-clip: padding;
border-radius: 0 2px 2px 0;
background-clip: padding-box
}
.widget .col {
display: inline-block;
vertical-align: top
}
.widget [class*=col-] {
font-size: 11px;
margin: 0;
padding: 0
}
.image-tile {
border: 1px solid #fff
}
.image-tile .tile {
border: 1px solid #fff;
height: 100px;
margin: 0;
padding: 0;
text-align: center;
vertical-align: bottom
}
.image-tile .tile:hover {
cursor: pointer
}
.image-tile .tile:hover>p {
background-color: rgba(3, 3, 3, .5);
color: #fff
}
.image-tile .tile>p {
background-color: rgba(3, 3, 3, 0);
color: rgba(6, 6, 6, 0);
font-size: 13px;
font-weight: 300;
height: 100%;
padding-top: 50px;
width: 100%
}
.image-tile .tile.more-images {
background-color: #29c7ca;
color: #fff;
font-size: 15px;
font-weight: 300
}
.image-tile .tile.more-images .images-number {
font-size: 25px;
margin-top: 20px
}