2019/01/23

cssだけで直角ではない三角形の吹き出しをつくる










borderで三角を作り、それを2つ重ね、枠の線と同じ太さになるように位置を調整しています。






サンプル

See the Pen cssだけで直角ではない三角形の吹き出しをつくる by takapen (@takapen) on CodePen.






html

sample









css
div {
  width: 200px;
  margin: 0 0 20px;
  padding: 10px 0;
  text-align: center;
  border: 3px solid #ccc;
  position: relative;
}
div::before {
  content: "";
  border-right: 20px solid transparent;
  border-bottom: 10px solid #ccc;
  border-left: 20px solid transparent;
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translate(-50%, 0) rotate(180deg);
}
div::after {
  content: "";
  border-right: 20px solid transparent;
  border-bottom: 10px solid #fff;
  border-left: 20px solid transparent;
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translate(-50%, 0) rotate(180deg);
}