Creates a text container with a triangle at the top.
- Use the
:before
and:after
pseudo-elements to create two triangles. - The color of the
:before
triangle should be the same as the container’s border color. - The color of the
:after
triangle should be the same as the container’s background color. - The border width of the
:before
triangle should be1px
wider than the:after
triangle, in order to act as the border. - The
:after
triangle should be1px
to the right of the:before
triangle to allow for its left border to be shown.
预览
Border with top triangle
HTML
<div class="container">
Border with top triangle
</div>
CSS
.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;
}
翻译自:https://www.30secondsofcode.org/css/s/border-with-top-triangle