我在多行时使用css下方对齐文本的中左对齐,但是当一行时如何对齐文本的中左对齐?

.my-text {
    border: 1px solid black;
    width: 400px;
    height: 160px;
    vertical-align: middle;
    display: table-cell;
    overflow: hidden;
    line-height: 20px;
    padding: 20px;
}
<div class="my-text">
    carpe diem
</div>
<div class="my-text">
    carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem
</div>

最佳答案

  • 将文本包装在内嵌元素中,例如<span>
  • 设置为inline-block,并将其文本对齐方式设置为left


  • .my-text {
      border: 1px solid black;
      width: 400px;
      height: 160px;
      vertical-align: middle;
      display: table-cell;
      overflow: hidden;
      line-height: 20px;
      text-align: center;
      padding: 10px;
    }
    
    .my-text span {
      display: inline-block;
      vertical-align: top;
      text-align: left;
    }
    <div class="my-text">
      <span>carpe diem</span>
    </div>
    
    <div class="my-text">
      <span>carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem carpe diem</span>
    </div>

    10-05 20:44