在Bootstrap走马灯中垂直居中文本

8
我在Bootstrap 4中创造一个旋转木马并使文本水平和垂直居中遇到了困难。
我已经创建了一个带有旋转木马的bootply,但文本只在左上角而不是屏幕中央。
<div class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div class="carousel-item active">
      <h1>Text 1</h1>
    </div>
    <div class="carousel-item">
      <h1>Text 2</h1>
    </div>
    <div class="carousel-item">
      <h1>Text 3</h1>
    </div>´
  </div>
</div>
5个回答

9

您可以使用Bootstrap 4的实用类(无需额外的CSS)...

https://www.codeply.com/go/ORkdymGWzM

<div class="carousel slide" data-ride="carousel">
    <div class="carousel-inner text-center">
        <div class="carousel-item active">
            <div class="d-flex h-100 align-items-center justify-content-center">
                <h1>Text 1</h1>
            </div>
        </div>
        <div class="carousel-item">
            <div class="d-flex h-100 align-items-center justify-content-center">
                <h1>Text 2</h1>
            </div>
        </div>
        <div class="carousel-item">
            <div class="d-flex h-100 align-items-center justify-content-center">
                <h1>Text 3</h1>
            </div>
        </div>
    </div>
</div>

1
将你的CSS样式表中的

标签更改为以下内容:
.carousel-item h1 {
  position: absolute;
  margin: 0;
  color: white;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}


1

你简单地缺少了这个:

<div class="carousel-caption">

Text 1

之前,它应该是这样的:
<div class="carousel-item active">
  <div class="carousel-caption">
    <h1>Text 1</h1>
  </div>
</div>

然后,文本将显示在屏幕底部而不是垂直居中。 - Jamgreen
请查看 https://dev59.com/E14d5IYBdhLWcg3wB-qI - Asjon

0

你可以使用 display: table;display: table-cell; 以及 vertical-align: middle; 属性来实现垂直居中显示。

.carousel-item {
    display: table;
    text-align: center;
}

.carousel-item h1 {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

关键在于 vertical-align: middle; 只适用于 div 是表格的情况。

关于水平对齐,text-align: center; 应用于 .carousel-item。我已经更新了我的代码。


0

使用容器。这对我有用。

    <div id="carouselContent" class="carousel slide" data-ride="carousel">

        <div class="container">
            <div class="carousel-inner text-center text-white m-auto" role="listbox">
                <div class="carousel-item active text-center p-4">
                    <div class="user_text mb-3">
                        <p class="mbr-fonts-style display-7">
                            <strong>
                                Blah
                            </strong><br>
                        </p>
                    </div>

                </div>
                <div class="carousel-item text-center p-4">

                    <div class="user_text mb-3">
                        <p class="mbr-fonts-style display-7">
                            <strong>
                                Blah Blah

                            </strong><br>
                        </p>
                    </div>

                </div>
            </div>
        </div>
            <a class="carousel-control-prev" href="#carouselContent" role="button" data-slide="prev">
                <span class="carousel-control-prev-icon" aria-hidden="true"></span>
                <span class="sr-only">Previous</span>
            </a>
            <a class="carousel-control-next" href="#carouselContent" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
    </div>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接