如何左右对齐文本居中?

How can I left and right align text to center?

我正在尝试将大文本与页面中心的两侧对齐。例如:

Current Recommendation: Open
        Current Status: Closed

但想象一下,文本居中且更大。

到目前为止,我能够完成此任务的唯一方法是使用 table,但我知道这不是一种现代的 Web 布局方法。这是 jsfiddle:https://jsfiddle.net/nyLLzy1m/3/

有没有办法在 HTML 和 CSS 中做到这一点而无需 table?我试过左右浮动的跨度,但文本一直向右或向左浮动,而不是中心的右侧或左侧。

p {
    margin: 0;
}
<table cellpadding="0" cellspacing="0" width="100%" style="border: 1px;" rules="none">
  <tbody>
    <tr>
      <td align="right" width="50%" style="padding-right: 5px;">
        <p style="font-size: 20px;">Current Recommendation:</p>
      </td>
      <td align="left" width="50%" style="padding-left: 5px;">
        <p style="font-size: 20px;">Open</p>
      </td>
    </tr>
    <tr>
      <td align="right" width="50%" style="padding-right: 5px;">
        <p style="font-size: 20px;">Current Status:</p>
      </td>
      <td align="left" width="50%" style="padding-left: 5px;">
        <p style="font-size: 20px;">Closed</p>
      </td>
    </tr>
  </tbody>
</table>

它基本上是标签和值逻辑...实现此目的的方法是向标签添加宽度并将其中的文本右对齐,值可以跨度与文本左对齐.. 两者都向左浮动。

这与您对表所做的类似,但是您使用 label/span 或 dt dl dd,无论它是什么...适用相同的逻辑

您可以浮动 50% 宽度的 div。

<div style="width:50%; float:left; text-align:right;">Current Recommendation:</div>
<div style="width:50%; float:left;">Open</div>
<div style="width:50%; float:left; text-align:right;">Current Status:</div>
<div style="width:50%; float:left;">Closed</div>

您可以使用 display: flex;:

.centered {
  display: flex;
}

.centered .left {
  text-align: right;
  width: 50%;
}

.centered .right {
  text-align: left;
  width: 50%;
  padding: 0 0 0 10px;
  box-sizing: border-box;
}
<div class="centered">
  <div class="left">
    Current Recommendation:
  </div>
  <div class="right">
    Open
  </div>
</div>
<div class="centered">
  <div class="left">
    Current Status:
  </div>
  <div class="right">
    Closed
  </div>
</div>

您可以使用上面答案中所述的 display:flex;。但是按照你的风格,我用浮点数创建了它。

查看更新后的 jsfiddle

代码:

.main {
  width: 100%;
}

.first,
.second {
  width: 50%;
  float:left;
}

.first > p {
  text-align: right;
}

.second > p {
  text-align: left;
}
  
    <div class="main">
      <div class="first">
      <p>
      Current Recommendation: <br>
      Current Status: 
      </p>
      </div>
      <div class="second">
      <p>
      Open <br>
      Closed
      </p>
      </div>
    </div>

希望对您有所帮助!