Headers

React Bootstrap 5 Headers component

Headers are compositions that extend standard navbar functionalities. They contain additional components like a jumbotron, sub-navbar, or image covers which serve as a containers for extra navigation elements - usually links, forms, or call-to-action buttons.


Jumbotron

A jumbotron is a lightweight, flexible component that can optionally extend the entire viewport to showcase key marketing messages on your site.

Heading

Subheading

Call to action

          import React from 'react';
          import { 
            MDBNavbar, 
            MDBNavbarNav,
            MDBNavbarItem,
            MDBNavbarLink,
            MDBNavbarToggler, 
            MDBContainer, 
            MDBIcon } from 'mdb-react-ui-kit';
          
          export default function App() {
            return (
              <header>
                <MDBNavbar expand='lg' light bgColor='white'>
                  <MDBContainer fluid>
                    <MDBNavbarToggler
                      aria-controls='navbarExample01'
                      aria-expanded='false'
                      aria-label='Toggle navigation'
                    >
                      <MDBIcon fas icon='bars' />
                    </MDBNavbarToggler>
                    <div className='collapse navbar-collapse' id='navbarExample01'>
                      <MDBNavbarNav right className='mb-2 mb-lg-0'>
                        <MDBNavbarItem active>
                          <MDBNavbarLink aria-current='page' href='#'>
                            Home
                          </MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>Features</MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>Pricing</MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>About</MDBNavbarLink>
                        </MDBNavbarItem>
                      </MDBNavbarNav>
                    </div>
                  </MDBContainer>
                </MDBNavbar>

                <div className='p-5 text-center bg-light'>
                  <h1 className='mb-3'>Heading</h1>
                  <h4 className='mb-3'>Subheading</h4>
                  <a className='btn btn-primary' href='' role='button'>
                    Call to action
                  </a>
                </div>
              </header>
            );
          }
        

Background image

Header with background image might help to outstand your call to action elements by catching the eyes to some beautiful image in the background.

To provide a proper contrast it's highly recommended to use a mask. You can change the color and the opacity of the mask by manipulating RGBA code.

You also must set the height of the background image, otherwise, the component will collapse. In the example below, we set the height to 400px.

We use flexbox utilities to center the content vertically and horizontally.

Heading

Subheading

Call to action

          import React from 'react';
          import { 
            MDBNavbar, 
            MDBNavbarNav,
            MDBNavbarItem,
            MDBNavbarLink, 
            MDBNavbarToggler, 
            MDBContainer, 
            MDBIcon } from 'mdb-react-ui-kit';
          
          export default function App() {
            return (
              <header>
                <MDBNavbar expand='lg' light bgColor='white'>
                  <MDBContainer fluid>
                    <MDBNavbarToggler
                      aria-controls='navbarExample01'
                      aria-expanded='false'
                      aria-label='Toggle navigation'
                    >
                      <MDBIcon fas icon='bars' />
                    </MDBNavbarToggler>
                    <div className='collapse navbar-collapse' id='navbarExample01'>
                      <MDBNavbarNav right className='mb-2 mb-lg-0'>
                        <MDBNavbarItem active>
                          <MDBNavbarLink aria-current='page' href='#'>
                            Home
                          </MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>Features</MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>Pricing</MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>About</MDBNavbarLink>
                        </MDBNavbarItem>
                      </MDBNavbarNav>
                    </div>
                  </MDBContainer>
                </MDBNavbar>

                <div
                  className='p-5 text-center bg-image'
                  style={{ backgroundImage: "url('https://mdbcdn.b-cdn.net/img/new/slides/041.jpg')", height: 400 }}
                >
                  <div className='mask' style={{ backgroundColor: 'rgba(0, 0, 0, 0.6)' }}>
                    <div className='d-flex justify-content-center align-items-center h-100'>
                      <div className='text-white'>
                        <h1 className='mb-3'>Heading</h1>
                        <h4 className='mb-3'>Subheading</h4>
                        <a className='btn btn-outline-light btn-lg' href='#!' role='button'>
                          Call to action
                        </a>
                      </div>
                    </div>
                  </div>
                </div>
              </header>
            );
          }
        

If you need to set a different height of the background image for large and small devices it's better to set it via regular CSS instead of inline CSS.

In the example below, we give it an id="intro-example" and set a height of 400px for small devices and 600px for larger.

Learn Bootstrap 5 with MDB

Best & free guide of responsive web design
Start tutorial Download MDB UI KIT

            import React from 'react';
            import { 
            MDBNavbar, 
            MDBNavbarNav,
            MDBNavbarItem,
            MDBNavbarToggler, 
            MDBNavbarLink, 
            MDBContainer, 
            MDBIcon } from 'mdb-react-ui-kit';

            export default function App() {
              return (
                <header>
                  <MDBNavbar expand='lg' light bgColor='white'>
                    <MDBContainer fluid>
                      <MDBNavbarToggler
                        aria-controls='navbarExample01'
                        aria-expanded='false'
                        aria-label='Toggle navigation'
                      >
                        <MDBIcon fas icon='bars' />
                      </MDBNavbarToggler>
                      <div className='collapse navbar-collapse' id='navbarExample01'>
                        <MDBNavbarNav right className='mb-2 mb-lg-0'>
                          <MDBNavbarItem active>
                            <MDBNavbarLink aria-current='page' href='#'>
                              Home
                            </MDBNavbarLink>
                          </MDBNavbarItem>
                          <MDBNavbarItem>
                            <MDBNavbarLink href='#'>Features</MDBNavbarLink>
                          </MDBNavbarItem>
                          <MDBNavbarItem>
                            <MDBNavbarLink href='#'>Pricing</MDBNavbarLink>
                          </MDBNavbarItem>
                          <MDBNavbarItem>
                            <MDBNavbarLink href='#'>About</MDBNavbarLink>
                          </MDBNavbarItem>
                        </MDBNavbarNav>
                      </div>
                    </MDBContainer>
                  </MDBNavbar>
  
                  <div
                    id='intro-example'
                    className='p-5 text-center bg-image'
                    style={{ backgroundImage: "url('https://mdbcdn.b-cdn.net/img/new/slides/041.jpg')" }}
                  >
                    <div className='mask' style={{ backgroundColor: 'rgba(0, 0, 0, 0.7)' }}>
                      <div className='d-flex justify-content-center align-items-center h-100'>
                        <div className='text-white'>
                          <h1 className='mb-3'>Learn Bootstrap 5 with MDB</h1>
                          <h5 className='mb-4'>Best &amp; free guide of responsive web design</h5>
                          <a
                            className='btn btn-outline-light btn-lg m-2'
                            href='https://www.youtube.com/watch?v=c9B4TPnak1A'
                            role='button'
                            rel='nofollow'
                            target='_blank'
                          >
                            Start tutorial
                          </a>
                          <a
                            className='btn btn-outline-light btn-lg m-2'
                            href='https://mdbootstrap.com/docs/standard/'
                            target='_blank'
                            role='button'
                          >
                            Download MDB UI KIT
                          </a>
                        </div>
                      </div>
                    </div>
                  </div>
                </header>
              );
            }
        

          <!-- Intro settings -->
          <style>
            /* Default height for small devices */
            #intro-example {
              height: 400px;
            }

            /* Height for devices larger than 992px */
            @media (min-width: 992px) {
              #intro-example {
                height: 600px;
              }
            }
          </style>
        

Fixed navbar

You can stick the navbar to the top of the window by using .fixed-top class. Thanks to this whenever you scroll the page the navbar will be always visible.

Fixed navbars use position: fixed, meaning they’re pulled from the normal flow of the DOM and may require custom CSS (e.g., padding-top on the <body>) to prevent overlap with other elements. In the examples below, we add margin-top: 58px; (height of the navbar) to the jumbotron and background image for this purpose.

Heading

Subheading

Call to action

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down


          import React from 'react';
          import { 
            MDBNavbar, 
            MDBNavbarNav,
            MDBNavbarItem,
            MDBNavbarLink, 
            MDBNavbarToggler, 
            MDBContainer, 
            MDBIcon } from 'mdb-react-ui-kit';

            export default function App() {
              return (
                <header>
                  <MDBNavbar expand='lg' light bgColor='white' fixed>
                    <MDBContainer fluid>
                      <MDBNavbarToggler
                        aria-controls='navbarExample01'
                        aria-expanded='false'
                        aria-label='Toggle navigation'
                      >
                        <MDBIcon fas icon='bars' />
                      </MDBNavbarToggler>
                      <div className='collapse navbar-collapse' id='navbarExample01'>
                        <MDBNavbarNav right className='mb-2 mb-lg-0'>
                          <MDBNavbarItem active>
                            <MDBNavbarLink aria-current='page' href='#'>
                              Home
                            </MDBNavbarLink>
                          </MDBNavbarItem>
                          <MDBNavbarItem>
                            <MDBNavbarLink href='#'>Features</MDBNavbarLink>
                          </MDBNavbarItem>
                          <MDBNavbarItem>
                            <MDBNavbarLink href='#'>Pricing</MDBNavbarLink>
                          </MDBNavbarItem>
                          <MDBNavbarItem>
                            <MDBNavbarLink href='#'>About</MDBNavbarLink>
                          </MDBNavbarItem>
                        </MDBNavbarNav>
                      </div>
                    </MDBContainer>
                  </MDBNavbar>

                  <div className='p-5 text-center bg-light'>
                    <h1 className='mb-3'>Heading</h1>
                    <h4 className='mb-3'>Subheading</h4>
                    <a className='btn btn-primary' href='' role='button'>
                      Call to action
                    </a>
                  </div>

                  <p className='mt-4'>Scroll down</p>
                  <p>Scroll down</p>
                  <p>Scroll down</p>
                  <p>Scroll down</p>
                  <p>Scroll down</p>
                  <p>Scroll down</p>
                  <p>Scroll down</p>
                  <p>Scroll down</p>
                </header>
              );
            }
        

Heading

Subheading

Call to action

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down

Scroll down


          import React from 'react';
          import { 
            MDBNavbar, 
            MDBNavbarNav,
            MDBNavbarItem,
            MDBNavbarLink, 
            MDBNavbarToggler, 
            MDBContainer, 
            MDBIcon 
          } from 'mdb-react-ui-kit';

          export default function App() {
            return (
              <header>
                <MDBNavbar expand='lg' light bgColor='white' sticky>
                  <MDBContainer fluid>
                    <MDBNavbarToggler
                      aria-controls='navbarExample01'
                      aria-expanded='false'
                      aria-label='Toggle navigation'
                    >
                      <MDBIcon fas icon='bars' />
                    </MDBNavbarToggler>
                    <div className='collapse navbar-collapse' id='navbarExample01'>
                      <MDBNavbarNav right className='mb-2 mb-lg-0'>
                        <MDBNavbarItem active>
                          <MDBNavbarLink aria-current='page' href='#'>
                            Home
                          </MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>Features</MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>Pricing</MDBNavbarLink>
                        </MDBNavbarItem>
                        <MDBNavbarItem>
                          <MDBNavbarLink href='#'>About</MDBNavbarLink>
                        </MDBNavbarItem>
                      </MDBNavbarNav>
                    </div>
                  </MDBContainer>
                </MDBNavbar>

                <div
                  className='p-5 text-center bg-image'
                  style={{ backgroundImage: "url('https://mdbcdn.b-cdn.net/img/new/slides/041.jpg')", height: 400 }}
                >
                  <div className='mask' style={{ backgroundColor: 'rgba(0, 0, 0, 0.6)' }}>
                    <div className='d-flex justify-content-center align-items-center h-100'>
                      <div className='text-white'>
                        <h1 className='mb-3'>Heading</h1>
                        <h4 className='mb-3'>Subheading</h4>
                        <a className='btn btn-outline-light btn-lg' href='#!' role='button'>
                          Call to action
                        </a>
                      </div>
                    </div>
                  </div>
                </div>

                <p className='mt-4'>Scroll down</p>
                <p>Scroll down</p>
                <p>Scroll down</p>
                <p>Scroll down</p>
                <p>Scroll down</p>
                <p>Scroll down</p>
                <p>Scroll down</p>
                <p>Scroll down</p>
              </header>
            );
          }
        

Animated navbar

You can achieve a very impressive effect by using our animated navbar, which is transparent on start, and change the color after the scroll.

Click the button below to see the full-screen demo.

Full screen demo

If you want to customize the colors in the animated navbar you need to overwrite the following styles.

Note: These are the default settings. If you don't want to change anything then you don't need to add or modify the following code.