Val*_*u92 -1 html css shape css3 css-shapes
是否可以使用CSS代码制作下面显示的形状?
我尝试了一些东西,但我做不到,所以我需要一些帮助.

#demo {
background-color: #333;
height: 100px;
position: relative;
width: 100px;
}
#demo:after {
content: ' ';
height: 0;
position: absolute;
width: 0;
border: 10px solid transparent;
border-top-color: #333;
top: 100%;
left: 50%;
margin-left: -10px;
}Run Code Online (Sandbox Code Playgroud)
<div id="demo"></div>Run Code Online (Sandbox Code Playgroud)
您可以在:beforeand和:afterpseudo元素上使用两个三角形.
div {
position: relative;
width: 100px;
height: 40px;
border: 4px solid black;
}
div:after, div:before {
content: '';
position: absolute;
width: 0;
height: 0;
bottom: -9px;
right: 20px;
border-top: 10px solid white;
border-right: 2px solid white;
border-left: 10px solid transparent;
}
div:before {
bottom: -15px;
right: 16px;
border-top: 15px solid black;
border-right: 4px solid black;
border-left: 15px solid transparent;
}Run Code Online (Sandbox Code Playgroud)
<div></div>Run Code Online (Sandbox Code Playgroud)
你可以随时使用svg它来使它更容易.
<svg width="108" height="68" viewBox="-2 -2 108 68">
<path d="M0,0 h100 v40 h-20 v10 l-10,-10 h-70z" fill="none" stroke="black" stroke-width="3">
</svg>Run Code Online (Sandbox Code Playgroud)
你可以使用pattern的stroke,而不是单一的颜色.

<svg width="108" height="68" viewBox="-2 -2 108 68">
<defs>
<pattern id="pat" patternUnits="userSpaceOnUse" width="6" height="6" viewBox="0 0 6 6">
<path d="M0,0 h3 l3,3 v3z M0,6 h3 l-3,-3z" fill="#E9D641" />
<path d="M0,0 v3 l3,3 h3z M3,0 h3 v3z" fill="#85A03C" />
</pattern>
</defs>
<path d="M0,0 h100 v40 h-20 v10 l-10,-10 h-70z" fill="none" stroke="url(#pat)" stroke-width="4" />
</svg>Run Code Online (Sandbox Code Playgroud)