Hover effects

Bootstrap hover effects

Bootstrap hover effect appears when user positions computer cursor over an element without activating it. Hover effects make a website more interactive.

However, we don't recommend to mix hover effects with functional elements (like dropdown on hover or hidden buttons visible only after hovering) because such approach isn't mobile-friendly.

MDB is a mobile-first framework, so we attach great importance to make each component easy to use for touch screens.

That's why our hover effects are gentle and decorative.


Basic examples

smaple image

Strong overlay

smaple image

Light overlay

smaple image

Super light overlay

smaple image

Zoom effect

Shadow effect

smaple image
Strong red overlay


        <div class="view overlay">
            <img src="https://mdbootstrap.com/img/Photos/Others/forest-sm.jpg" class="img-fluid " alt="smaple image">
            <div class="mask flex-center rgba-red-strong">
                <p class="white-text">Strong overlay</p>
            </div>
        </div>

      
Light blue overlay


        <div class="view overlay">
            <img src="https://mdbootstrap.com/img/Photos/Others/forest-sm.jpg" class="img-fluid " alt="smaple image">
            <div class="mask flex-center rgba-blue-light">
                <p class="white-text">Light overlay</p>
            </div>
        </div>

      
Super light green overlay


        <div class="view overlay">
            <img src="https://mdbootstrap.com/img/Photos/Others/forest-sm.jpg" class="img-fluid " alt="smaple image">
            <div class="mask flex-center rgba-green-slight">
                <p class="white-text">Super light overlay</p>
            </div>
        </div>

      
Zoom effect


        <!--Zoom effect-->
        <div class="view overlay zoom">
            <img src="https://mdbootstrap.com/img/Photos/Horizontal/Nature/6-col/img%20(131).jpg" class="img-fluid " alt="smaple image">
            <div class="mask flex-center">
                <p class="white-text">Zoom effect</p>
            </div>
        </div>

      
Shadow effect


        <img src="[...]" class="hoverable">

      

Usage

Step 1: Create a wrapper containing class .view.



        <div class="view">
            [...]
        </div>

      

Step 2: Add a class of the effect you want to use (for example .overlay or .zoom).



        <div class="view overlay">
            [...]
        </div>

      

Step 3: Set a path to the image. If you want to make your image responsive, remember to add a class.img-fluid.



        <div class="view overlay">
            <img src="https://mdbootstrap.com/img/Photos/Horizontal/City/6-col/img%20(3).jpg" class="img-fluid " alt="">
        </div>

      

Step 4: Add a class .mask to cover the image with the overlay and choose color and intensity of the overlay.



        <div class="view overlay">
            <img src="https://mdbootstrap.com/img/Photos/Horizontal/City/6-col/img%20(3).jpg" class="img-fluid " alt="">
             <div class="mask rgba-red-strong">

            </div>
        </div>

      

Step 5: If you want to add some text, you can use a class .flex-center to center it, and .white-text to give your text a stronger contrast and make it more visible.



        <div class="view overlay">
            <img src="https://mdbootstrap.com/img/Photos/Horizontal/City/6-col/img%20(3).jpg" class="img-fluid " alt="">
            <div class="mask flex-center rgba-red-strong">
                <p class="white-text">Strong overlay</p>
            </div>
        </div>

      

Zoom effect.

To use a zoom effect, follow the instruction above, but insted of .overlay add a class .zoom.

Shadow effect.

To use a shadow effect, you only need to add a .hoverable class to chosen element.


Colors and intensity

Use one of the classes below to change the color and intensity of the overlay.


Strong overlay


Image with a strong blue overlay.

.rgba-blue-strong

Image with a strong red overlay.

.rgba-red-strong

Image with a strong pink overlay.

.rgba-pink-strong

Image with a strong purple overlay.

.rgba-purple-strong

Image with a strong indigo overlay.

.rgba-indigo-strong

Image with a strong cyan overlay.

.rgba-cyan-strong

Image with a strong teal overlay.

.rgba-teal-strong

Image with a strong green overlay.

.rgba-green-strong

Image with a strong lime overlay.

.rgba-lime-strong

Image with a strong yellow overlay.

.rgba-yellow-strong

Image with a strong orange overlay.

.rgba-orange-strong

Image with a strong brown overlay.

.rgba-brown-strong

Image with a strong grey overlay.

.rgba-grey-strong

Image with a strong blue-grey overlay.

.rgba-blue-grey-strong

Image with a strong black overlay.

.rgba-black-strong

Image with a strong stylish overlay.

.rgba-stylish-strong

Image with a strong white overlay.

.rgba-white-strong


Light overlay


Image with a light blue overlay.

.rgba-blue-light

Image with a light red overlay.

.rgba-red-light

Image with a light pink overlay.

.rgba-pink-light

Image with a light purple overlay.

.rgba-purple-light

Image with a light indigo overlay.

.rgba-indigo-light

Image with a light cyan overlay.

.rgba-cyan-light

Image with a light teal overlay.

.rgba-teal-light

Image with a light green overlay.

.rgba-green-light

Image with a light lime overlay.

.rgba-lime-light

Image with a light yellow overlay.

.rgba-yellow-light

Image with a light orange overlay.

.rgba-orange-light

Image with a light brown overlay.

.rgba-brown-light

Image with a light grey overlay.

.rgba-grey-light

Image with a light blue-grey overlay.

.rgba-blue-grey-light

Image with a light black overlay.

.rgba-black-light

Image with a light stylish overlay.

.rgba-stylish-light

Image with a light white overlay.

.rgba-white-light


Super light overlay


Image with a slight blue overlay.

.rgba-blue-slight

Image with a slight red overlay.

.rgba-red-slight

Image with a slight pink overlay.

.rgba-pink-slight

Image with a slight purple overlay.

.rgba-purple-slight

Image with a slight indigo overlay.

.rgba-indigo-slight

Image with a slight cyan overlay.

.rgba-cyan-slight

Image with a slight teal overlay.

.rgba-teal-slight

Image with a slight green overlay.

.rgba-green-slight

Image with a slight lime overlay.

.rgba-lime-slight

Image with a slight yellow overlay.

.rgba-yellow-slight

Image with a slight orange overlay.

.rgba-orange-slight

Image with a slight brown overlay.

.rgba-brown-slight

Image with a slight grey overlay.

.rgba-grey-slight

Image with a slight blue-grey overlay.

.rgba-blue-grey-slight

Image with a slight black overlay.

.rgba-black-slight

Image with a slight stylish overlay.

.rgba-stylish-slight

Image with a slight white overlay.

.rgba-white-slight

Getting started : download & setup


Download

All the components and features are part of MDBootstrap package.

MDBootstrap (Material Design for Bootstrap) is a free (MIT Licensed) framework combining Material Design and the newest Bootstrap 4.

Click the button below to go to Download Page, where you can download MDBootstrap package.

MDBootstrap Download MDBootstrap About

MDB Pro

Using components and features labeled as MDB Pro component requires MDB Pro package.

Click the button below to learn more about MDBbootstrap Pro package

MDBootstrap Pro

Tutorials

If you need additional help to start, use our "5 min Quick Start" or "Full tutorial" resources.

5 min Quick Start Full Tutorial

Compilation

To reduce a weight of MDBootstrap package, you can compile your own, custom package containing only components and features you need.

Map of dependencies of SCSS files in MDBootstrap:


    Legend:

    '-->' means 'required'

    All free and pro files require files from 'core' catalog

    'none' means 'this component doesn't require anything except core files'

    A file wrapped by `< >` means that this file make the base component prettier but it isn't necessary for the proper working

    All PRO components require 'pro/_variables.scss' file

    scss/
    |
    |-- core/
    |   |
    |   |-- bootstrap/
    |   |	|-- _functions.scss
    |   |	|-- _variables.scss
    |   |
    |   |-- _colors.scss
    |   |-- _global.scss
    |   |-- _helpers.scss
    |   |-- _masks.scss
    |   |-- _mixins.scss
    |   |-- _typography.scss
    |   |-- _variables.scss
    |   |-- _waves.scss
    |
    |-- free/
    |   |-- _animations-basic.scss --> none
    |   |-- _animations-extended.scss --> _animations-basic.scss
    |   |-- _buttons.scss --> none
    |   |-- _cards.scss --> none <_buttons.scss>
    |   |-- _dropdowns.scss --> none <_buttons.scss>
    |   |-- _input-group.scss --> _forms.scss, _buttons.scss, _dropdowns.scss
    |   |-- _navbars.scss --> none <_buttons.scss, _forms.scss, _input-group.scss>
    |   |-- _pagination.scss --> none
    |   |-- _badges.scss --> none
    |   |-- _modals.scss --> _buttons.scss, _forms.scss (PRO --> _tabs.scss)
    |   |-- _carousels.scss --> <_buttons.scss>
    |   |-- _forms.scss --> none
    |   |-- _msc.scss --> none <_buttons.scss, _forms.scss, _cards.scss>
    |   |-- _footers.scss none <_buttons.scss> (PRO: )
    |   |-- _list-group.scss --> none
    |   |-- _tables.scss --> none (PRO: _material-select.scss, pro/_forms.scss, _checkbox.scss, pro/_buttons.scss, pro/_cards.scss, _pagination.scss, pro/_msc.scss)
    |   |-- _depreciated.scss
    |
    |-- pro/
    |   |
    |   |-- picker/
    |   |   |-- _default.scss --> none
    |   |   |-- _default-time.scss --> _default.scss, free/_forms.scss, free/_buttons.scss, pro/_buttons.scss, free/_cards.scss
    |   |   |-- _default-date.scss --> _default.scss, free/_forms.scss
    |   |
    |   |-- sections/
    |   |   |-- _templates.scss --> _sidenav.scss
    |   |   |-- _social.scss --> free/_cards.scss, free/ _forms.scss, free/_buttons.scss, pro/_buttons.scss,
    |   |   |-- _team.scss --> free/_buttons.scss, pro/_buttons.scss, free/_cards.scss, pro/_cards.scss
    |   |   |-- _testimonials.scss --> free/_carousels.scss, pro/_carousels.scss, free/_buttons.scss, pro/_buttons.scss
    |   |   |-- _magazine.scss --> _badges.scss
    |   |   |-- _pricing.scss --> free/_buttons.scss, pro/_buttons.scss
    |   |   |-- _contacts.scss --> free/_forms.scss, pro/_forms.scss, free/_buttons.scss, pro/_buttons.scss
    |   |
    |   |-- _variables.scss
    |   |-- _buttons.scss --> free/_buttons.scss, pro/_msc.scss, _checkbox.scss, _radio.scss
    |   |-- _social-buttons.scss --> free/_buttons.scss, pro/_buttons.scss
    |   |-- _tabs.scss --> _cards.scss
    |   |-- _cards.scss --> free/_cards.scss <_buttons.scss, _social-buttons.scss>
    |   |-- _dropdowns.scss --> free/_dropdowns.scss, free/_buttons.scss
    |   |-- _navbars.scss --> free/_navbars.scss  (PRO: )
    |   |-- _scrollspy.scss --> none
    |   |-- _lightbox.scss --> none
    |   |-- _chips.scss --> none
    |   |-- _msc.scss --> none
    |   |-- _forms.scss --> none
    |   |-- _radio.scss --> none
    |   |-- _checkbox.scss --> none
    |   |-- _material-select.scss --> none
    |   |-- _switch.scss --> none
    |   |-- _file-input.scss --> free/_forms.scss, free/_buttons.scss
    |   |-- _range.scss --> none
    |   |-- _input-group.scss --> free/_input-group.scss and the same what free input group, _checkbox.scss, _radio.scss
    |   |-- _autocomplete.scss --> free/_forms.scss
    |   |-- _accordion.scss --> pro/_animations.scss, free/_cards.scss
    |   |-- _parallax.scss --> none
    |   |-- _sidenav.scss --> free/_forms.scss, pro/_animations.scss, sections/_templates.scss
    |   |-- _ecommerce.scss --> free/_cards.scss, pro/_cards.scss, free/_buttons.scss, pro/_buttons.scss, pro/_msc.scss
    |   |-- _carousels.scss --> free/_carousels.scss, free/_cards.scss, free/_buttons.scss 
    |   |-- _steppers.scss --> free/_buttons.scss
    |   |-- _blog.scss --> none
    |   |-- _toasts.scss --> free/_buttons.scss
    |   |-- _animations.scss --> none
    |   |-- _charts.scss --> none
    |   |-- _progress.scss --> none
    |   |-- _scrollbar.scss --> none
    |   |-- _skins.scss --> none
    |   |-- _depreciated.scss
    |
    `-- _custom-skin.scss
    `-- _custom-styles.scss
    `-- _custom-variables.scss
    `-- mdb.scss

  

Map of dependencies of JavaScript modules in MDBootstrap:


    Legend:

    '-->' means 'required'

    All files require jQuery and bootstrap.js

    js/
    ├── dist/
    │   ├── buttons.js
    │   ├── cards.js
    │   ├── character-counter.js
    │   ├── chips.js
    │   ├── collapsible.js --> vendor/velocity.js
    │   ├── dropdown.js --> Popper.js, jquery.easing.js
    │   ├── file-input.js
    │   ├── forms-free.js
    │   ├── material-select.js --> dropdown.js
    │   ├── mdb-autocomplete.js
    │   ├── preloading.js
    │   ├── range-input.js --> vendor/velocity.js
    │   ├── scrolling-navbar.js
    │   ├── sidenav.js --> vendor/velocity.js, vendor/hammer.js, vendor/jquery.hammer.js
    │   └── smooth-scroll.js
    ├── _intro-mdb-pro.js
    ├── modules.js
    ├── src/
    │   ├── buttons.js
    │   ├── cards.js
    │   ├── character-counter.js
    │   ├── chips.js
    │   ├── collapsible.js --> vendor/velocity.js
    │   ├── dropdown.js --> Popper.js, jquery.easing.js
    │   ├── file-input.js
    │   ├── forms-free.js
    │   ├── material-select.js --> dropdown.js
    │   ├── mdb-autocomplete.js
    │   ├── preloading.js
    │   ├── range-input.js --> vendor/velocity.js
    │   ├── scrolling-navbar.js
    │   ├── sidenav.js --> vendor/velocity.js, vendor/hammer.js, vendor/jquery.hammer.js
    │   └── smooth-scroll.js
    └── vendor/
        ├── addons/
        │   ├── datatables.js
        │   └── datatables.min.js
        ├── chart.js
        ├── enhanced-modals.js
        ├── hammer.js
        ├── jarallax.js
        ├── jarallax-video.js --> vendor/jarallax.js
        ├── jquery.easing.js
        ├── jquery.easypiechart.js
        ├── jquery.hammer.js --> vendor/hammer.js
        ├── jquery.sticky.js
        ├── lightbox.js
        ├── picker-date.js --> vendor/picker.js
        ├── picker.js
        ├── picker-time.js --> vendor/picker.js
        ├── scrollbar.js
        ├── scrolling-navbar.js
        ├── toastr.js
        ├── velocity.js
        ├── waves.js
        └── wow.js
  

Compilation & Customization tutorial

If you need additional help to compile your custom package, use our Compilation & Customization tutorial

Compilation & Customization tutorial

Integrations with Angular, React or Vue

Apart from standard Bootstrap integration with jQuery, MDBootstrap provides integrations with Angular, React and Vue.

About MDB Angular About MDB React About MDB Vue