У меня есть этот код для сложенного угла с помощью CSS:
body {
background-color: #e1e1e1
}
.note {
position: relative;
width: 480px;
padding: 1em 1.5em;
margin: 2em auto;
color: #fff;
background: #97C02F;
overflow: hidden;
}
.note:before {
content: "";
position: absolute;
top: 0;
right: 0;
border-width: 0 16px 16px 0;
/* This trick side-steps a webkit bug */
border-style: solid;
border-color: #fff #fff #658E15 #658E15;
/* A bit more verbose to work with .rounded too */
background: #658E15;
/* For when also applying a border-radius */
display: block;
width: 0;
/* Only for Firefox 3.0 damage limitation */
/* Optional: shadow */
-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3), -1px 1px 1px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3), -1px 1px 1px rgba(0, 0, 0, 0.2);
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3), -1px 1px 1px rgba(0, 0, 0, 0.2);
}
.note.red {
background: #C93213;
}
.note.red:before {
border-color: #fff #fff #97010A #97010A;
background: #97010A;
}
.note.blue {
background: #53A3B4;
}
.note.blue:before {
border-color: #fff #fff transparent transparent;
background: transparent;
}
.note.taupe {
background: #999868;
}
.note.taupe:before {
border-color: #fff #fff #BDBB8B #BDBB8B;
background: #BDBB8B;
}
<div class="note">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris pulvinar rhoncus risus, vel ornare lacus sagittis sit amet. Duis vel sem magna. Proin pulvinar velit eleifend ligula ultrices vestibulum. Nunc posuere dolor eu mauris feugiat dignissim.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris pulvinar rhoncus risus, vel ornare lacus sagittis sit amet. Duis vel sem magna. Proin pulvinar velit eleifend ligula ultrices vestibulum. Nunc posuere dolor eu mauris feugiat dignissim.</p>
</div>