Вертикальный текст по центру в карусели Bootstrap
У меня проблемы с созданием карусели в Bootstrap 4 с текстом по горизонтали и вертикали.
Я создал загрузочный лист с каруселью, но текст находится только в верхнем левом углу, а не в середине экрана.
<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 ответов
Вы можете использовать служебные классы 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>
Изменить свой CSS для h1
в следующее:
.carousel-item h1 {
position: absolute;
margin: 0;
color: white;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
Просто вам не хватает этого:
<div class="carousel-caption">
Перед <h1>Text 1</h1>
Итак, это так:
<div class="carousel-item active">
<div class="carousel-caption">
<h1>Text 1</h1>
</div>
</div>
Ты можешь использовать 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
, Я обновил свой код.
используйте контейнер. это сработало для меня.
<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>