CSS:在纯 CSS 箭头上制作边框

mic*_*kov 0 html css css-shapes

我有这个代码片段:

.multiply-button {
  display: table;
  background: rgba(0, 0, 0, 0);
  border: none;
  color: white;
  padding: 0;
}
.multiply-button-content {
  display: table-cell;
  background: green;
  padding: 10px 9px;
  border: solid 1px black;
  border-right: none !important;
}
.multiply-button-arrow {
  display: table-cell;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 20px 0 20px 12px;
  border-color: transparent transparent transparent green;
}
Run Code Online (Sandbox Code Playgroud)
<button id="multiply-button" class="multiply-button">
  <div class="multiply-button-content">Multiply</div>
  <div class="multiply-button-arrow"></div>
</button>
Run Code Online (Sandbox Code Playgroud)

我需要在这个“箭头”按钮上添加边框。我可以轻松地为矩形部分添加边框(我已经做到了),但是如何在三角形部分上制作此边框?

Pet*_*ete 5

以下应该可以满足您的需要

.multiply-button {
  display: table;
  background: rgba(0, 0, 0, 0);
  border: none;
  color: white;
  padding: 0;
}
.multiply-button-content {
  display: table-cell;
  background: green;
  padding: 0 9px;
  border: solid 1px black;
  border-right: none !important;
  position: relative;
  vertical-align:middle;
  height: 40px; /* double the border width */
  box-sizing: border-box;
}
.multiply-button-content:after,
.multiply-button-content:before {
  left: 100%;
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-width: 20px 0 20px 12px;
  margin-top: -20px;
}
.multiply-button-content:after {
  border-color: rgba(0, 128, 0, 0);
  border-left-color: #008000;
  margin-left: -1px;
}
.multiply-button-content:before {
  border-color: rgba(0, 0, 0, 0);
  border-left-color: #000000;
}
Run Code Online (Sandbox Code Playgroud)
<button id="multiply-button" class="multiply-button">
  <div class="multiply-button-content">Multiply</div>
</button>
Run Code Online (Sandbox Code Playgroud)

这是一个有用的工具