Like I mentioned in my comment. One way to achieve this is to use the standard Bootstrap grid layout to achieve the actual layout that you desire.
row no-gutters
col
cols make up in a maximum value of 12. You can read more about Bootstrap layouts here.
To get your desired heights of your containers, you can target the view height of the viewport by using the vh
property in CSS - height: [number]vh;
For your scroll function, what you'll need to look at is the CSS property overflow
. Here you can make use of either auto
or scroll
- overflow: auto;
Example of how it could look like.
HTML:
<nav class="navbar" id="mainNav">
<div class="container">
NAV
</div>
</nav>
<div class="wrapper">
<div class="row no-gutters">
<div class="col-md-4 my-custom-class">
Column A
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed porta tellus at augue congue consequat. Quisque in tristique nisi. Integer molestie odio at nisi auctor pharetra. Aliquam convallis sit amet sapien id pellentesque. Nam in dapibus mauris. Proin vitae ante sit amet tellus maximus sodales. Cras erat urna, commodo egestas nisi a, tincidunt interdum orci. Morbi scelerisque suscipit nunc. Cras laoreet lacus et velit egestas imperdiet. Quisque vehicula, nulla id ornare gravida, libero metus vehicula ante, nec ultrices orci dui non leo. Cras efficitur ac neque ut convallis. Aenean gravida lorem purus, ut vestibulum elit venenatis sed. Praesent urna nunc, interdum eget dolor nec, rhoncus malesuada urna. Pellentesque sed sodales odio. Fusce elementum convallis suscipit.
Morbi porta euismod tellus, id tincidunt enim ultricies eget. Cras hendrerit elementum sapien, nec consequat lectus vulputate ac. Aenean eget porta justo. Quisque pharetra gravida nibh, id dictum lacus ultricies sit amet. Praesent tristique ut est non efficitur. Morbi viverra molestie lacus, quis tincidunt lorem posuere eu. Donec hendrerit lectus id porta tempor. Praesent vehicula metus sit amet tortor posuere, quis rutrum justo malesuada. In nec justo id sem pharetra tempus vel ut tellus. Donec felis massa, tempor ut risus in, semper rhoncus lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Donec consectetur est condimentum quam vehicula laoreet. Donec ac augue odio. Duis non lorem et enim fringilla lobortis. Duis fringilla vel eros ut malesuada. Aliquam dui est, malesuada nec velit ac, luctus iaculis velit. Suspendisse maximus dui ac libero sodales aliquet. Vivamus vitae commodo dolor. Cras posuere nibh nulla, vel sollicitudin tortor aliquet et. Nunc vel placerat orci. Suspendisse ultrices mollis mi eu varius. Phasellus et malesuada ipsum, vitae egestas libero.
Morbi cursus faucibus accumsan. Proin pellentesque orci justo, vitae porttitor quam aliquam in. Mauris porta felis leo, suscipit condimentum quam pellentesque a. Nullam euismod eros et molestie ornare. Quisque a diam euismod, pretium mi quis, pretium elit. Etiam porta venenatis euismod. Vestibulum non nibh magna. Morbi accumsan ipsum nec massa mollis tempus. Phasellus ullamcorper dapibus felis quis auctor. Phasellus sit amet blandit sapien.
Cras sit amet bibendum purus. Proin pellentesque facilisis blandit. Suspendisse egestas pharetra eros sed egestas. Duis consequat posuere ipsum id tempus. Donec aliquam ipsum dolor, vel luctus justo elementum quis. Cras posuere, lacus sit amet euismod ultricies, ante orci commodo mauris, at dignissim neque mi elementum odio. In luctus dictum est, a feugiat libero elementum nec. Vestibulum pretium sagittis nulla a volutpat. Donec sem magna, volutpat tempor mauris id, laoreet elementum dui. Nullam elementum ex in mauris vehicula malesuada. Donec porta tristique nibh id sodales. Nullam a augue ac nulla molestie sodales.
</div>
<div class="col-md-8 my-custom-class-2">
Column B
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed porta tellus at augue congue consequat. Quisque in tristique nisi. Integer molestie odio at nisi auctor pharetra. Aliquam convallis sit amet sapien id pellentesque. Nam in dapibus mauris. Proin vitae ante sit amet tellus maximus sodales. Cras erat urna, commodo egestas nisi a, tincidunt interdum orci. Morbi scelerisque suscipit nunc. Cras laoreet lacus et velit egestas imperdiet. Quisque vehicula, nulla id ornare gravida, libero metus vehicula ante, nec ultrices orci dui non leo. Cras efficitur ac neque ut convallis. Aenean gravida lorem purus, ut vestibulum elit venenatis sed. Praesent urna nunc, interdum eget dolor nec, rhoncus malesuada urna. Pellentesque sed sodales odio. Fusce elementum convallis suscipit.
Morbi porta euismod tellus, id tincidunt enim ultricies eget. Cras hendrerit elementum sapien, nec consequat lectus vulputate ac. Aenean eget porta justo. Quisque pharetra gravida nibh, id dictum lacus ultricies sit amet. Praesent tristique ut est non efficitur. Morbi viverra molestie lacus, quis tincidunt lorem posuere eu. Donec hendrerit lectus id porta tempor. Praesent vehicula metus sit amet tortor posuere, quis rutrum justo malesuada. In nec justo id sem pharetra tempus vel ut tellus. Donec felis massa, tempor ut risus in, semper rhoncus lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Donec consectetur est condimentum quam vehicula laoreet. Donec ac augue odio. Duis non lorem et enim fringilla lobortis. Duis fringilla vel eros ut malesuada. Aliquam dui est, malesuada nec velit ac, luctus iaculis velit. Suspendisse maximus dui ac libero sodales aliquet. Vivamus vitae commodo dolor. Cras posuere nibh nulla, vel sollicitudin tortor aliquet et. Nunc vel placerat orci. Suspendisse ultrices mollis mi eu varius. Phasellus et malesuada ipsum, vitae egestas libero.
Morbi cursus faucibus accumsan. Proin pellentesque orci justo, vitae porttitor quam aliquam in. Mauris porta felis leo, suscipit condimentum quam pellentesque a. Nullam euismod eros et molestie ornare. Quisque a diam euismod, pretium mi quis, pretium elit. Etiam porta venenatis euismod. Vestibulum non nibh magna. Morbi accumsan ipsum nec massa mollis tempus. Phasellus ullamcorper dapibus felis quis auctor. Phasellus sit amet blandit sapien.
Cras sit amet bibendum purus. Proin pellentesque facilisis blandit. Suspendisse egestas pharetra eros sed egestas. Duis consequat posuere ipsum id tempus. Donec aliquam ipsum dolor, vel luctus justo elementum quis. Cras posuere, lacus sit amet euismod ultricies, ante orci commodo mauris, at dignissim neque mi elementum odio. In luctus dictum est, a feugiat libero elementum nec. Vestibulum pretium sagittis nulla a volutpat. Donec sem magna, volutpat tempor mauris id, laoreet elementum dui. Nullam elementum ex in mauris vehicula malesuada. Donec porta tristique nibh id sodales. Nullam a augue ac nulla molestie sodales.
</div>
</div>
</div>
<div class="row no-gutters">
<div class="col-md-12 custom-footer">
FOOTER
</div>
</div>
CSS:
/*======================================
//--//--> STYLES CUSTOM
======================================*/
/* write your custom CSS here. */
.my-custom-class{
background-color: blue;
height: 75vh;
color: white;
overflow: auto;
}
.my-custom-class-2{
background-color: red;
height: 75vh;
color: white;
overflow: auto;
}
#mainNav{
background-color: purple !important;
color: white;
height: 10vh;
}
.custom-footer{
background-color: green;
height: 15vh;
color: white;
text-align: center;
}
Runable code snippet:
.my-custom-class{
background-color: blue;
height: 75vh;
color: white;
overflow: auto;
}
.my-custom-class-2{
background-color: red;
height: 75vh;
color: white;
overflow: auto;
}
#mainNav{
background-color: purple !important;
color: white;
height: 10vh;
padding-bottom: 8%;
}
.custom-footer{
background-color: green;
height: 15vh;
color: white;
text-align: center;
padding: 5%;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar" id="mainNav">
<div class="container">
NAV
</div>
</nav>
<div class="wrapper">
<div class="row no-gutters">
<div class="col-4 my-custom-class">
Column A
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed porta tellus at augue congue consequat. Quisque in tristique nisi. Integer molestie odio at nisi auctor pharetra. Aliquam convallis sit amet sapien id pellentesque. Nam in dapibus mauris. Proin vitae ante sit amet tellus maximus sodales. Cras erat urna, commodo egestas nisi a, tincidunt interdum orci. Morbi scelerisque suscipit nunc. Cras laoreet lacus et velit egestas imperdiet. Quisque vehicula, nulla id ornare gravida, libero metus vehicula ante, nec ultrices orci dui non leo. Cras efficitur ac neque ut convallis. Aenean gravida lorem purus, ut vestibulum elit venenatis sed. Praesent urna nunc, interdum eget dolor nec, rhoncus malesuada urna. Pellentesque sed sodales odio. Fusce elementum convallis suscipit.
Morbi porta euismod tellus, id tincidunt enim ultricies eget. Cras hendrerit elementum sapien, nec consequat lectus vulputate ac. Aenean eget porta justo. Quisque pharetra gravida nibh, id dictum lacus ultricies sit amet. Praesent tristique ut est non efficitur. Morbi viverra molestie lacus, quis tincidunt lorem posuere eu. Donec hendrerit lectus id porta tempor. Praesent vehicula metus sit amet tortor posuere, quis rutrum justo malesuada. In nec justo id sem pharetra tempus vel ut tellus. Donec felis massa, tempor ut risus in, semper rhoncus lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Donec consectetur est condimentum quam vehicula laoreet. Donec ac augue odio. Duis non lorem et enim fringilla lobortis. Duis fringilla vel eros ut malesuada. Aliquam dui est, malesuada nec velit ac, luctus iaculis velit. Suspendisse maximus dui ac libero sodales aliquet. Vivamus vitae commodo dolor. Cras posuere nibh nulla, vel sollicitudin tortor aliquet et. Nunc vel placerat orci. Suspendisse ultrices mollis mi eu varius. Phasellus et malesuada ipsum, vitae egestas libero.
Morbi cursus faucibus accumsan. Proin pellentesque orci justo, vitae porttitor quam aliquam in. Mauris porta felis leo, suscipit condimentum quam pellentesque a. Nullam euismod eros et molestie ornare. Quisque a diam euismod, pretium mi quis, pretium elit. Etiam porta venenatis euismod. Vestibulum non nibh magna. Morbi accumsan ipsum nec massa mollis tempus. Phasellus ullamcorper dapibus felis quis auctor. Phasellus sit amet blandit sapien.
Cras sit amet bibendum purus. Proin pellentesque facilisis blandit. Suspendisse egestas pharetra eros sed egestas. Duis consequat posuere ipsum id tempus. Donec aliquam ipsum dolor, vel luctus justo elementum quis. Cras posuere, lacus sit amet euismod ultricies, ante orci commodo mauris, at dignissim neque mi elementum odio. In luctus dictum est, a feugiat libero elementum nec. Vestibulum pretium sagittis nulla a volutpat. Donec sem magna, volutpat tempor mauris id, laoreet elementum dui. Nullam elementum ex in mauris vehicula malesuada. Donec porta tristique nibh id sodales. Nullam a augue ac nulla molestie sodales.
</div>
<div class="col-8 my-custom-class-2">
Column B
<br /><br />
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed porta tellus at augue congue consequat. Quisque in tristique nisi. Integer molestie odio at nisi auctor pharetra. Aliquam convallis sit amet sapien id pellentesque. Nam in dapibus mauris. Proin vitae ante sit amet tellus maximus sodales. Cras erat urna, commodo egestas nisi a, tincidunt interdum orci. Morbi scelerisque suscipit nunc. Cras laoreet lacus et velit egestas imperdiet. Quisque vehicula, nulla id ornare gravida, libero metus vehicula ante, nec ultrices orci dui non leo. Cras efficitur ac neque ut convallis. Aenean gravida lorem purus, ut vestibulum elit venenatis sed. Praesent urna nunc, interdum eget dolor nec, rhoncus malesuada urna. Pellentesque sed sodales odio. Fusce elementum convallis suscipit.
Morbi porta euismod tellus, id tincidunt enim ultricies eget. Cras hendrerit elementum sapien, nec consequat lectus vulputate ac. Aenean eget porta justo. Quisque pharetra gravida nibh, id dictum lacus ultricies sit amet. Praesent tristique ut est non efficitur. Morbi viverra molestie lacus, quis tincidunt lorem posuere eu. Donec hendrerit lectus id porta tempor. Praesent vehicula metus sit amet tortor posuere, quis rutrum justo malesuada. In nec justo id sem pharetra tempus vel ut tellus. Donec felis massa, tempor ut risus in, semper rhoncus lacus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
Donec consectetur est condimentum quam vehicula laoreet. Donec ac augue odio. Duis non lorem et enim fringilla lobortis. Duis fringilla vel eros ut malesuada. Aliquam dui est, malesuada nec velit ac, luctus iaculis velit. Suspendisse maximus dui ac libero sodales aliquet. Vivamus vitae commodo dolor. Cras posuere nibh nulla, vel sollicitudin tortor aliquet et. Nunc vel placerat orci. Suspendisse ultrices mollis mi eu varius. Phasellus et malesuada ipsum, vitae egestas libero.
Morbi cursus faucibus accumsan. Proin pellentesque orci justo, vitae porttitor quam aliquam in. Mauris porta felis leo, suscipit condimentum quam pellentesque a. Nullam euismod eros et molestie ornare. Quisque a diam euismod, pretium mi quis, pretium elit. Etiam porta venenatis euismod. Vestibulum non nibh magna. Morbi accumsan ipsum nec massa mollis tempus. Phasellus ullamcorper dapibus felis quis auctor. Phasellus sit amet blandit sapien.
Cras sit amet bibendum purus. Proin pellentesque facilisis blandit. Suspendisse egestas pharetra eros sed egestas. Duis consequat posuere ipsum id tempus. Donec aliquam ipsum dolor, vel luctus justo elementum quis. Cras posuere, lacus sit amet euismod ultricies, ante orci commodo mauris, at dignissim neque mi elementum odio. In luctus dictum est, a feugiat libero elementum nec. Vestibulum pretium sagittis nulla a volutpat. Donec sem magna, volutpat tempor mauris id, laoreet elementum dui. Nullam elementum ex in mauris vehicula malesuada. Donec porta tristique nibh id sodales. Nullam a augue ac nulla molestie sodales.
</div>
</div>
</div>
<div class="row no-gutters">
<div class="col-md-12 custom-footer">
FOOTER
</div>
</div>
Check this link to see how it looks in an actual browser environment.
Screenshot of how it will look like:
