In this case, you can use a skewed div. The only problem here is that when your buttons get taller, due to skew, they will be a little wider. This may not be a problem if you are dealing with only 1 or 2 lines. If they become very tall, this can lead to things not noticeably lining up for sure:
http://jsfiddle.net/AaP47/3/
.button.triangle:after { content: ""; background-color: red; display: block; height: 100%; position: absolute; right: -30px; top: 0; width: 60px; transform: skewX(-10deg); }
It is also not fully scalable. You will need to determine the highest height that you must maintain and adjust accordingly. The higher you have to support, the wider the skewed div should be.
Result (no red): http://jsfiddle.net/AaP47/4/
source share