I'm trying to skew my menu items like this:

I've found a few solution that will let me skew all 4 corners but they use a border-top solution whilst I need to use a background-image solution because of the gradient.
Does anybody know how to do this?
On
It's not possible to move each corner around freely, but you can combine skew with rotate and transform-origin to create a lot of different effects. Here's a demo of something similar to the picture you shared.
If you need something more intricate, it'd likely be best to use SVG.
You can build it with a separate gradient for each zone
demo