【问题标题】:How can I keep a variable-width column centered in a three-column layout?如何在三列布局中保持可变宽度列居中?
【发布时间】:2019-09-03 16:34:56
【问题描述】:

我有一个类似工具栏的控件。在左侧,可变大小的文本。在中间,一小块文字。在右侧,更多文字。

我希望中心文本始终居中,并且只占用它需要的空间。左右应展开以填充可用空间,然后换行。

我尝试过的任何方法都不起作用。以下是我的尝试:

 

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<br/>
not centered:
<div class="d-flex justify-content-between">
   <div class="border">
  left left left left left left left left left left left left
   </div>
   <div class="border">
  center
   </div>
   <div class="border">
  right
   </div>
</div>
<br/>
not on the same line:
<div class="d-flex flex-column">
   <div class="border align-self-start">
  left left left left left left left left left left left left
   </div>
   <div class="border align-self-center">
  center
   </div>
   <div class="border align-self-end">
  right
   </div>
</div>
<br/>
left does not fill space up to the center content:
<div class="container row">
   <div class="col border">
  left left left left left left left left left left left left
   </div>
   <div class="col border text-center">
  center
   </div>
   <div class="col border text-right">
  right
   </div>
</div>

运行 sn-p 看看我的意思。如何使居中的文本居中? (可惜我事先不知道它的宽度。)

【问题讨论】:

  • 你想让左边的文本一直到居中的文本吗?

标签: html css twitter-bootstrap bootstrap-4


【解决方案1】:

左边是可变大小的文本。

在中间,一小块文字,占据了它需要的空间

右侧,更多文字。

左右应该展开以填充可用空间,然后换行。

这是你所期待的吗?

使用col-auto 类来占用可用空间。 如果左侧应该采用相同的宽度并且文本应该换行,您可以使用 col-4col-3 类预定义。

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="row">
   <div class="border col">
  left left left left left left left left left left left left
   </div>
   <div class="border col-auto">
  center
   </div>
   <div class="border col">
  right
   </div>
</div>

【讨论】:

  • 尝试在中间列添加更多文本。不幸的是,它在某个时候失败了。
  • @isherwood 有问题,他提到中心是一小块文本,它应该占用它需要的空间并且没有换行,这就是我做 col-auto 的原因。是的,当我们添加更多文本并居中时,该分割不会换行并且它会失败。
  • 这非常适合我的应用程序。中心文本不会有太大变化。现在我必须弄清楚如何让它响应。它很好地折叠到一个点,但不能正确堆叠。将尝试 col-md-*。
  • @ccleve 很高兴它有帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多