Yes, it's possible.
But it takes some work.
I had this exact same question, and could not find any examples of this effect being done with pure CSS. And so, I decided to tinker around with it.
After a lot of experimentation, I finally came up with a solution that not only were in CSS, but also one that is rather portable (relatively speaking).
I started off with creating just the top half and the bottom half separately, using linear-gradient trickery on ::before
and ::after
pseudo elements, and the second step (which by far was the most time consuming step) was merging the two halves into a single element.
Working demo: http://codepen.io/pestbarn/pen/aBybeK
(the original poster wanted a vignette effect, which I've created separately in the above demo, using a div overlay with a radial gradient)
I've provided both the vanilla CSS and a Sass mixin at github.com/pestbarn/starburst.css, and you'll find some examples at the official demo page.
Is this cross-browser?
As far as I can tell, yes. You can see the current browser support in the repository.
Can I animate it?
Yes, like you would animate any other elements. Try it out for yourself!
Are there any caveats?
Alas, there is. Using two colors that are substantially different from another (e.g. in brightness) will create jagged edges. I'd therefore recommend using colors that are quite similar to one another.
Also, since the effect is created using pseudo elements, you will in some cases need to explicitly set the element's height and width.
Feel free to experiment!