Vue Bootstrap Hover Effects

Vue Hover Effects - Bootstrap 4 & Material Design

Note: This documentation is for an older version of Bootstrap (v.4). A newer version is available for Bootstrap 5. We recommend migrating to the latest version of our product - Material Design for Bootstrap 5.
Go to docs v.5

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

Here is the most common example of hover effects usage.

smaple image

Strong overlay

smaple image

Light overlay

smaple image

Super light overlay

smaple image

Zoom effect

Shadow effect

smaple image

Light blue overlay

        
            
        <template>
          <mdb-view hover src="https://mdbootstrap.com/img/Photos/Horizontal/People/6-col/img%20(7).webp" alt="">
            <mdb-mask flex-center overlay="blue-light" text="Light overlay" />
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView, mdbMask } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView,
              mdbMask
            }
          }
        </script>
      
        
    

Strong red overlay

        
            
        <template>
          <mdb-view hover src="https://mdbootstrap.com/img/Photos/Horizontal/People/6-col/img%20(7).webp" alt="">
            <mdb-mask flex-center overlay="red-strong" text="Strong overlay" />
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView, mdbMask } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView,
              mdbMask
            }
          }
        </script>
      
        
    

Super light green overlay

        
            
        <template>
          <mdb-view hover src="https://mdbootstrap.com/img/Photos/Horizontal/People/6-col/img%20(7).webp" alt="">
            <mdb-mask flex-center overlay="green-slight" text="Super light overlay" />
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView, mdbMask } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView,
              mdbMask
            }
          }
        </script>
      
        
    

Zoom effect

        
            
        <template>
          <mdb-view class="zoom" src="https://mdbootstrap.com/img/Photos/Horizontal/People/6-col/img%20(7).webp" alt="">
            <mdb-mask flex-center text="Zoom effect" />
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView, mdbMask } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView,
              mdbMask
            }
          }
        </script>
      
        
    

Shadow effect

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

Usage

Step 1: Create a wrapper containing component mdb-view.

        
            
        <template>
          <mdb-view>
            [...]
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbMask } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView
            }
          }
        </script>
      
        
    

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

        
            
        <template>
          <mdb-view class="overlay">
            [...]
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView
            }
          }
        </script>
      
        
    

Step 3: Set a path to the image by adding src prop.

        
            
        <template>
          <mdb-view class="overlay" src="https://mdbootstrap.com/img/Photos/Horizontal/City/6-col/img%20(3).webp" alt="">
            [...]
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView
            }
          }
        </script>
      
        
    

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

        
            
        <template>
          <mdb-view class="overlay" src="https://mdbootstrap.com/img/Photos/Horizontal/City/6-col/img%20(3).webp" alt="">
            <mdb-mask overlay="red-strong" />
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView, mdbMask } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView,
              mdbMask
            }
          }
        </script>
      
        
    

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

        
            
        <template>
          <mdb-view class="overlay" src="https://mdbootstrap.com/img/Photos/Horizontal/City/6-col/img%20(3).webp" alt="">
            <mdb-mask overlay="red-strong" flex-center text="Strong overlay" />
          </mdb-view>
        </template>
      
        
    
        
            
        <script>
          import { mdbView, mdbMask } from "mdbvue";
          export default {
            name: "HoverEffect",
            components: {
              mdbView,
              mdbMask
            }
          }
        </script>
      
        
    

Zoom effect.

To use a zoom effect, follow the instruction above, but instead 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 view's overlay prop to change the color and intensity.


Strong overlay


Image with a strong blue overlay.

blue-strong

Image with a strong red overlay.

red-strong

Image with a strong pink overlay.

pink-strong

Image with a strong purple overlay.

purple-strong

Image with a strong indigo overlay.

indigo-strong

Image with a strong cyan overlay.

cyan-strong

Image with a strong teal overlay.

teal-strong

Image with a strong green overlay.

green-strong

Image with a strong lime overlay.

lime-strong

Image with a strong yellow overlay.

yellow-strong

Image with a strong orange overlay.

orange-strong

Image with a strong brown overlay.

brown-strong

Image with a strong grey overlay.

grey-strong

Image with a strong blue-grey overlay.

blue-grey-strong

Image with a strong black overlay.

black-strong

Image with a strong stylish overlay.

stylish-strong

Image with a strong white overlay.

white-strong


Light overlay


Image with a light blue overlay.

blue-light

Image with a light red overlay.

red-light

Image with a light pink overlay.

pink-light

Image with a light purple overlay.

purple-light

Image with a light indigo overlay.

indigo-light

Image with a light cyan overlay.

cyan-light

Image with a light teal overlay.

teal-light

Image with a light green overlay.

green-light

Image with a light lime overlay.

lime-light

Image with a light yellow overlay.

yellow-light

Image with a light orange overlay.

orange-light

Image with a light brown overlay.

brown-light

Image with a light grey overlay.

grey-light

Image with a light blue-grey overlay.

blue-grey-light

Image with a light black overlay.

black-light

Image with a light stylish overlay.

stylish-light

Image with a light white overlay.

white-light


Super light overlay


Image with a slight blue overlay.

blue-slight

Image with a slight red overlay.

red-slight

Image with a slight pink overlay.

pink-slight

Image with a slight purple overlay.

purple-slight

Image with a slight indigo overlay.

indigo-slight

Image with a slight cyan overlay.

cyan-slight

Image with a slight teal overlay.

teal-slight

Image with a slight green overlay.

green-slight

Image with a slight lime overlay.

lime-slight

Image with a slight yellow overlay.

yellow-slight

Image with a slight orange overlay.

orange-slight

Image with a slight brown overlay.

brown-slight

Image with a slight grey overlay.

grey-slight

Image with a slight blue-grey overlay.

blue-grey-slight

Image with a slight black overlay.

black-slight

Image with a slight stylish overlay.

stylish-slight

Image with a slight white overlay.

white-slight