Thinking about it, this is a more elegant solution that allows a much more efficient style and use of only one HTML element. Using this method, we can fully achieve the results in your concept.
HTML
<a href="#" class="button">Back</a>
CSS
a.button { text-decoration:none; color:#111; text-shadow:0 1px 0 #fff; font-weight:bold; padding:10px 10px; font-size:14px; border-radius:0 8px 8px 0; -webkit-border-radius:0 8px 8px 0; float:left; margin-left:30px; margin-top:20px; position:relative; font-family:verdana; color:#3b3d3c; border:1px solid #666; border-left:0; background: -moz-linear-gradient( top , #eee 0%,#bbb 100%); background: -webkit-linear-gradient( top , #eee 0%,#bbb 100%); } a.button:after { content:""; width:25px; height:25px; background: -moz-linear-gradient( left top , #eee 0%,#bbb 100%); background: -webkit-linear-gradient( left top , #eee 0%,#bbb 100%); -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); display:block; position:absolute; top:5px; left:-14px; z-index:-1; border:1px solid #666; } @media screen and (-webkit-min-device-pixel-ratio:0) { a.button:after{ border-left:0; left:-13px; }
The last rule applies to Chrome, which otherwise makes the result a little different.
Hope this helps.
source share