:before and :after pseudo-elements to create two triangles.border-color and the container's background-color respectively.border-width of the one triangle (:before) should be 1px wider than the other one (:after), in order to act as the border.:after) should be 1px to the right of the larger triangle (:before) to allow for its left border to be shown.<div class="container">Border with top triangle</div>
.container { position: relative; background: #ffffff; padding: 15px; border: 1px solid #dddddd; margin-top: 20px; } .container:before, .container:after { content: ''; position: absolute; bottom: 100%; left: 19px; border: 11px solid transparent; border-bottom-color: #dddddd; } .container:after { left: 20px; border: 10px solid transparent; border-bottom-color: #ffffff; }
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️