当前位置: 首页 > 面试题库 >

Bootstrap 4中心垂直和水平对齐

王建华
2023-03-14
问题内容

我有一个页面,其中仅存在表单,并且我希望将表单放置在屏幕的中央。

<div class="container">
  <div class="row justify-content-center align-items-center">
    <form>
      <div class="form-group">
        <label for="formGroupExampleInput">Example label</label>
        <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input">
      </div>
      <div class="form-group">
        <label for="formGroupExampleInput2">Another label</label>
        <input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input">
      </div>
    </form>   
  </div>  
</div>

justify-content-center对齐表格水平,但我无法弄清楚如何垂直对齐。我已经尝试使用align-items- centeralign-self-center,但是它不起作用。

我想念什么?


问题答案:

更新2019 - Bootstrap 4.3.1

没有必要 进行 额外的CSS 。Bootstrap中已经包含的内容将起作用。确保表格的容器全高 。Bootstrap4现在具有h-100100%高度的类…

垂直中心:

<div class="container h-100">
  <div class="row h-100 justify-content-center align-items-center">
    <form class="col-12">
      <div class="form-group">
        <label for="formGroupExampleInput">Example label</label>
        <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input">
      </div>
      <div class="form-group">
        <label for="formGroupExampleInput2">Another label</label>
        <input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input">
      </div>
    </form>   
  </div>
</div>

物品居中放置的容器的高度应为100% (或相对于居中物品所需的高度)

注意:在任何元素上使用height:100%百分比高度 )时,该元素
将采用其容器的高度

。在现代浏览器height:100vh;中,可以使用vh单位%来获得所需的高度。

因此,您可以设置html,正文{height:100%},或min-vh-100在容器上使用新类,而不是h-100

水平中心:

  • text-centerdisplay:inline元素和列内容为中心
  • mx-auto 用于在flex元素内部居中
  • offset-*mx-auto可用于将 列居中.col-
  • justify-content-center中心柱col-*)的内部row


 类似资料:
  • 问题内容: 嗨,我想放置一个图像,该图像的垂直和水平居中对齐,我的HTML标记是 完成所有这些操作后,我将无法执行操作。请看一下并帮助我。 问题答案: 有几种方法可以使元素水平和垂直居中,这取决于情况和您的喜好。 使用以下标记: 行高 好的快速修复方法,不会使您太费时间,但是如果实际上将文本居中,则可能会出现问题。 显示:表格单元 就像好的旧表一样工作并且高度灵活,但是仅在现代浏览器中受支持。 位

  • 问题内容: 我正在练习CSS,却对如何强制将元素置于页面的中心(和)感到困惑(这意味着跨浏览器兼容性的一种或多种方式)? 最好的祝福! 问题答案: 有很多方法: 使用固定尺寸使元素的水平和垂直居中对齐 CSS 2。水平和垂直居中一行文本 CSS 3。没有特定度量的元素的水平和垂直居中对齐 CSS

  • 问题内容: 如何使用flexbox在容器内水平和垂直居中div。在下面的示例中,我希望每个数字都彼此相邻(按行),并水平居中。 问题答案: 我认为您想要以下内容。 你的元素应该是块级(而非)如果你想要的高度和顶部/底部填充,以正常工作。 另外,在上,将宽度设置为而不是。 您的属性很好。 如果您希望垂直居中于视口中,请为和分配100%的高度,然后将页边距清零。 请注意,需要一个高度才能看到垂直对齐效

  • 如何使用FlexBox在容器内水平和垂直地居中div。在下面的例子中,我希望每一个数字在彼此下面(在行中),水平居中。 null null http://codepen.io/anon/pen/zlxbo

  • 问题内容: 我弹出一个包含ASP.NET表单的弹出窗口,单击链接“请求信息”,然后出现该表单。 但是,具有链接“请求信息”以触发弹出窗口的页面包含很多内容,因此需要滚动才能看到该链接。 如果用户滚动阅读内容,则需要始终居中,否则,如果他们不滚动,弹出窗口仍将居中显示在屏幕上。 在绝对定位,整个页面宽度与边距设置为。 问题答案: 如果div具有固定的宽度和高度,请使用:(如果width = 120p

  • 问题内容: 有没有办法在 垂直和水平方向上输入一个DIV, 但这很重要, 当窗口小于内容时,内容将不会被剪切 。div必须具有背景色,宽度和高度。 我总是将div的中心定位为绝对位置和负边距,如提供的示例所示。但是它有一个问题,那就是削减内容的顶部。有没有一种方法可以将div.content居中而不会出现此问题? CSS: HTML: 我的问题不是重复的“如何在水平和垂直方向上居中放置元素?”1-