Responsive pseudo-element
To avoid breaking your design when your want a responsive element, you can use calc() to set the width with CSS. Check Can I Use for browser support and this for a working example. When you change the width of the .block, you see that the pseudo-elements are resizing as well.

.block {
position:relative;
height:300px;
width: 300px;
background: purple;
}
.block:before {
content: "";
border-top: 40px solid purple;
border-left: 40px solid transparent;
position: absolute;
bottom: -40px;
}
.block:after {
content: "";
width: -webkit-calc(100% - 40px);
width: -moz-calc(100% - 40px);
width: calc(100% - 40px);
height: 40px;
background: purple;
position: absolute;
bottom: -40px;
margin-left: 40px;
}
After reading your question again I see this isn't the kind of solution where you were looking for, since your example contains text, but maybe this is helpful for other future projects.