如何将这个跨度移动到它自己的行?

How to move this span to its own line?

我正在尝试将 span 移到新行。

这是最能说明问题的 Codepen Demo

我在 spans 中包含了很多动态内容。

HTML 示例:

<span class="group">
  <span class="num">500</span>
  <span class="text">TEXT</span>
  <span class="sym">~</span>
  <span class="num2">50</span>
</span>

CSS:

.group {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-top: auto;
  align-self: flex-end;
}

在不更改 HTML 的情况下,我只想将 .num2 移动到新行。我认为添加 display: block 就足够了,但它没有效果,可能是由于 flexbox 样式?

感谢任何建议,干杯。

(注意:暂时不太担心伪元素的位置)

片段:

.group {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-top: auto;
  align-self: flex-end;
}
.num,
.text,
.sym {
  margin-left: .3em;
}
.num,
.text {
  display: inline-block;
}
.num2 {
  margin-left: .3em;
  /* display: block; // this doesn't work */
}
<span class="group">
  <span class="num">500</span>
  <span class="text">TEXT</span>
  <span class="sym">~</span>
  <span class="num2">50</span>
</span>

通过将 flex-wrap: wrapforce num2 添加到下一个 flexbox wrap通过向其添加 flex-basis: 100% 行。

参见下面的演示:

* {
  font-family: sans-serif;
}

body {
  width: 500px;
  margin: 20px auto 0;
}

.ideal {
  float: right;
}

.ideal p {
  margin-top: 0; 
}

.ideal p:nth-of-type(2)::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 6px solid black;
  margin-left: .3em;
}

.working {
  float: left;
}

.head {
  color: white;
  text-align: center;
  padding: 8px;
  margin-bottom: 10px;
}

.green {
  background-color: green;
}

.red {
  background-color: red;
}

.group {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  margin-top: auto;
  flex-wrap: wrap;
  align-self: flex-end;
}

.num,
.text,
.sym {
  margin-left: .3em;
}

.num,
.text {
  display: inline-block;
}

.num2 {
  margin-left: .3em;
  flex-basis: 100%;
}

.group::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 6px solid black;
  margin-left: .3em;
}
<div class="working">
  <div class="head red">What I have now</div>
  <span class="group">
  <span class="num">500</span>
  <span class="text">TEXT</span>
  <span class="sym">~</span>
  <span class="num2">50</span>
  </span>
</div>