You may have more luck with the Overlay Method, the first of Jordon Dobson 's methods here that uses radial gradients.
But the image still requires height and width (especially in Chrome).
figure.overlay::after{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; content: ""; z-index: 2; pointer-events: none; background-image: -moz-radial-gradient( center, circle contain, rgba(0,0,0,0) 125px, rgba(0,0,0,.5) 250px ); background-image: -webkit-gradient( radial, 50% 50%, 125, 50% 50%, 250, from(rgba(0,0,0,0)), to(rgba(0,0,0,.5)) ); }
source share