Yes, you can use a white overlay using the css pseudo-element before or after , like this
.slantButton { position: relative; background-color: #8D3F81; border: 1px solid transparent; border-radius: 5px 5px 5px 20px; color: #fff; padding: 10px 20px; text-transform: uppercase; font-size: 18px; cursor: pointer; outline: 0; } .slantButton:before { content: ''; position: absolute; top: 0; left: -5px; width: 0; height: 0; border-bottom: 42px solid #fff; border-right: 16px solid transparent; }
<button class="slantButton">Call Me Back</button>
Explaination
I applied a different border radius in the lower left corner using
border-radius: 5px 5px 5px 20px;
Then use the css triangle in the pseudo-element. Made one white overlay of the triangle and made a slanting edge, as you suggested
.slantButton { position: relative; background-color: #8D3F81; border: 1px solid transparent; border-radius: 5px 5px 5px 20px; color: #fff; padding: 10px 20px; text-transform: uppercase; font-size: 18px; cursor: pointer; outline: 0; } .slantButton:before { content: ''; position: absolute; top: 0; left: -5px; width: 0; height: 0; border-bottom: 42px solid rgba(0,0,0,0.5); border-right: 16px solid transparent; }
<button class="slantButton">Call Me Back</button>
source share