(CSS) skew img frame without distorting image

Mirror318 picture Mirror318 · Apr 21, 2016 · Viewed 10.4k times · Source

I'm making a website that contains many skewed elements, like this:

enter image description here

This isn't too bad, there are CSS transforms that could skew it. But how about this:

enter image description here

The image isn't distorted, just the frame is cropped in a skewed way. What's the easiest/best way to do this?

Answer

Andy Hoffman picture Andy Hoffman · Apr 21, 2016

I think this should work for you. As a Mark commented on, clip-path is a nice way to go. There are tools for getting just the right path such as Clippy. Once you've got the path, you drop it right into your code. In my demo, I used it on the div wrapping the image, rather than on the image itself. I did it this way to keep border effects—added via pseudo-class—on top of the image.

enter image description here

Demo: http://codepen.io/antibland/pen/eZKxNa