If you're having this problem on mobile, it's because the style uses a media query for screens over 680px. I worked around it by adding the same styles in my own stylesheets, so it applies the styles always, regardless of screen size:
.modal-backdrop-bg {
transition: opacity 300ms ease-in-out;
-webkit-transition: opacity 300ms ease-in-out;
background-color: #000;
opacity: 0;
}
.active .modal-backdrop-bg {
opacity: 0.5;
}
You could also just change the media query in ionic's CSS, but since I'm working with Meteor, the CSS files are included differently. I think this way is cleaner, in any case.
Hope this helps!