如何使用CSS制作评论形状

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)

Wea*_*.py 5

您可以在: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)


你可以使用patternstroke,而不是单一的颜色.

在此输入图像描述

<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)