An alternative to the answers from wek-tiki and Nenad Vracar would be to use the skewX() CSS transform.
This solution does not require you to hide everything that overflows the edge, and therefore adds a little more flexibility.
body { background-image: url("http://i.imgur.com/TnPgXl4.jpg"); background-size: cover; background-repeat: no-repeat; padding: 40px; } #table { position: relative; width: 800px; height: 300px; background-color: transparent; border: solid 1px white; } #table:before { content: ''; position: absolute; left: 50%; top: 0; height: 100%; width: 20px; border-right: 1px solid #fff; border-left: 1px solid #fff; transform-origin: 100% 100%; transform: skewX(-20deg); }
<div id="table"></div>
source share