One of the traditional ways is to use the border triangle:
.breadcrumb {
display:inline-block;
position:relative;
line-height:30px; /* altura final da linha */
text-align:center;
padding-right:20px;
padding-left:35px; /* 1/2 da altura da linha a mais */
/* que o right para compensar o bico */
color:#fff;
}
.breadcrumb:after {
content:"";display:block;position:absolute;
box-sizing:border-box; /* para respeitar medida interna */
top:0;bottom:0;left:100%;
border:solid 15px transparent; /* metade da altura da linha */
z-index:1;
}
.blue {background:blue} .blue:after {border-left-color:blue}
.gold {background:gold} .gold:after {border-left-color:gold}
.green{background:green} .green:after{border-left-color:green}
.red {background:red} .red:after {border-left-color:red}
<span class="breadcrumb blue">UM</span><!--
--><span class="breadcrumb gold">DOIS</span><!--
--><span class="breadcrumb green">TRÊS</span><!--
--><span class="breadcrumb red">QUATRO</span>
This is just a demonstration of the technique, the important thing to note is the use of the pseudo-element, and the border.
In this case, I used <span>
to simplify (so the comments to kill line break), you have to choose the most appropriate display for your case. About the spacing of the elements, you have this post here:
Remove space between html list item