如何设置 dd 和 dt 元素的样式,使其位于同一行且 dt 右对齐且 dd 左对齐?

How do I style dd and dt elements to be on the same line with dt right aligned and dd left aligned?

我有一个键值对的定义列表,我想将它们放在同一行并对齐它们的文本,使 dt 元素右对齐,dd 元素左对齐。我还想在两者之间添加一个 : ,全部通过 CSS。我已经看到了如何使用 float: left 使它们位于同一行的示例,但是一旦我添加 text-align,它们就会回到不同的行。我不需要使用该方法,但我对 CSS 不够熟悉,不知道如何设置样式以获得所需的结果。有谁知道我该怎么做?

这是我的 HTML 代码:

  <dl>
    <dt>Username</dt> <dd>Username02</dd>
    <dt>Password</dt> <dd>p1HvkNAAx6P</dd>
    <dt>Security Question</dt> <dd>What is your pets name?</dd>
    <dt>Security Answer</dt> <dd>Fred</dd>
    <dt>Security Question</dt> <dd>What is your favorite color?</dd>
    <dt>Security Answer</dt> <dd>Blue</dd>
  </dl>

您可以使用此 CSS 获得想要的结果

dt,
dd {
  display: inline-block;
  width: calc(50% - 0.5rem);
  margin: 0;
}

dt {
  text-align: right;
}

dt::after {
  content: ":";
}

Example Code

这应该会给你很好的印象:

dl {
  display: flex;
  flex-wrap: wrap;
}

dt,
dd {
  box-sizing: border-box;
  width: 50%;
  margin: 0;
}

dt:nth-of-type(2n),
dd:nth-of-type(2n) {
  margin-bottom: 1em;
}

dt {
  text-align: right;
  padding-right: 10px;
}

dd {
  padding-left: 10px;
}

dt:after {
  content: ":";
}

这里的工作示例:https://codesandbox.io/s/small-bash-qgw43?file=/index.html:255-684