Wie erstelle ich "kollabierte" Ränder um flexible Elemente und deren Container?

Ich habe das folgende Layout:

#limited-width {
  width: 100%;
  max-width: 200px;
  margin: 0 auto;
  font-size: 18px;
}
ul {
  display: flex;
  flex-flow: row wrap;
  list-style: none;
  padding: 0;
  margin: 20px;
}
ul > li {
  display: block;
  text-align: center;
  flex: 1 0 auto;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 4px 7px;
  border: 2px solid rgba(0,0,0,.3);
  background-color: rgba(0,0,0,.03);
}
<div id="limited-width">
  <ul>
    <li>Apple</li>
    <li>Orange</li>
    <li>Pineapple</li>
    <li>Banana</li>
    <li>Tomato</li>
    <li>Pear</li>
    <li>Lemon</li>
  </ul>
</div>

ie Sie sehen können, werden die Listenelemente imul hat einen Rand mit der Breite von2px, aber aus diesem Grund verdoppelt sich die Grenze zwischen Elementen. Ich suche nach einer Möglichkeit, die Ränder zwischen den Elementen gleich breit zu machen, während gleichzeitig der äußere Rand gleich bleibt (ähnlich wie beiborder-collapse funktioniert auf Tabellen) mit flexbox. Ist das möglich und wenn ja, wie?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage