To avoid setting a fixed min-height value like 500px
, consider using a relative height measurement such as 100vh
, which corresponds to the viewport height of the browser window. For more information on these units (vh
and vw
), you can visit here. This will ensure that sections adjust in height based on the browser's viewport. Refer to the example below for guidance.
Sometimes, a section's height may be less than its content height, resulting in overflow issues. In such cases, you can utilize max-height:fit-content
property to dynamically set the height based on the content within the section. This acts as a fallback when minimum height is exceeded, preventing text overflow.
html, body {
height:100%;
width:100%;
}
#section1 {padding-top:50px;min-height:100vh;max-height:fit-content;color: #fff; background-color: #1E88E5;}
#section2 {padding-top:50px;min-height:100vh;max-height:fit-content;color: #fff; background-color: #673ab7;}
#section3 {padding-top:50px;min-height:100vh;max-height:fit-content;color: #fff; background-color: #ff9800;}
#section41 {padding-top:50px;min-height:100vh;max-height:fit-content;color: #fff; background-color: #00bcd4;}
#section42 {padding-top:50px;min-height:100vh;max-height:fit-content;color: #fff; background-color: #009688;}
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body data-spy="scroll" data-target=".navbar" data-offset="50">
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">WebSiteName</a>
</div>
<div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="#section1">Section 1</a></li>
<li><a href="#section2">Section 2</a></li>
<li><a href="#section3">Section 3</a></li>
<li class="dropdown"><a class="dropdown-toggle" data-toggle="dropdown" href="#">Section 4 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#section41">Section 4-1</a></li>
<li><a href="#section42">Section 4-2</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</nav>
<div id="section1" class="container-fluid">
<h1>Section 1</h1>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
</div>
<div id="section2" class="container-fluid">
<h1>Section 2</h1>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
</div>
<div id="section3" class="container-fluid">
<h1>Section 3</h1>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
</div>
<div id="section41" class="container-fluid">
<h1>Section 4 Submenu 1</h1>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
</div>
<div id="section42" class="container-fluid">
<h1>Section 4 Submenu 2</h1>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
<p>Try scrolling this section and observing the navigation bar behavior! Try scrolling this section and observing the navigation bar behavior!</p>
</div>
</body>
</html>