Blurred background effect

Hi, the other day was a bit bored so i made this effect to make the background blur while showing the menu and i wanted to share it with the community.

It’s a subtle effect, i don’t know if it can be appreciated in a low resolution gif, sorry.

Anyways, in case it fits your project you can follow this steps:

Generate a new directive: ionic generate directive blur-menu

Then paste this code to blur-menu-directive.ts

import { Directive, ElementRef, HostListener, Input } from '@angular/core';
import { Platform } from '@ionic/angular';

  selector: '[appBlurMenu]'
export class BlurMenuDirective {
  @Input('appBlurMenu') blurLevel;

  constructor(private el: ElementRef, private platform: Platform) {
    const platforms = platform.platforms();
    const applePlatforms = ['ios', 'iphone', 'ipad'];
    const apple = applePlatforms.some(p => platforms.includes(p)) ? true : false; = apple ? '0.4s backdrop-filter' : '0.3s backdrop-filter';

  @HostListener('ionWillOpen') ionWillOpen() {
    this.setBackdropFilter(`blur(${this.blurLevel.toString() || '2'}px)`);

  @HostListener('ionWillClose') ionWillClose() {

  setBackdropFilter(value) { = value;

Add the appBlurMenu directive to ion-menu like this

<ion-menu contentId="main-content" type="overlay" appBlurMenu>

You may also adjust the effect level like this: (default value is 2)

<ion-menu contentId="main-content" type="overlay" appBlurMenu="5">

It’s a very simple code but i hope some of you may use it!


Hi @pabloo87!
Thanks for sharing!