it-swarm.com.ru

Bootstrap как получить текст для вертикального выравнивания в контейнере div

Каков наилучший/правильный способ вертикального выравнивания текста в середине его столбца? Высота изображения статически устанавливается в CSS.

Я попытался установить внешний div в display: table и ​​внутренний div для display: table-cell с vertical-align: middle но это тоже не сработало.

enter image description here

HTML

<section id="browse" class="browse">
    <div class="container">
        <div class="row">
            <div class="col-md-5 col-sm-5">
                <h2 class="text-left">Link up with other gamers all over the world who share the same tastes in games.</h2>
            </div>
            <div class="col-md-1"></div>
            <div class="col-md-6 col-sm-7 animation_container">
                <img id="animation_img2" class="animation_img animation_img2" src="images/section2img2.png"/>
                <img id="animation_img1" class="animation_img animation_img1" src="images/section2img1.png"/>
            </div>
        </div>
    </div>
</section>

CSS

.browse .container, .blind_dating .container { padding-bottom: 0; }
.animation_container { position: relative; }
.browse .animation_container { height: 430px; }
.animation_img { position: absolute; bottom: 0; }
.animation_img1 { right: 25%; }
.animation_img2 { right: 25%; }
22
The Nomad

HTML:

Во-первых, нам нужно добавить класс в ваш текстовый контейнер, чтобы мы могли обращаться к нему и стилизовать его соответствующим образом.

<div class="col-xs-5 textContainer">
     <h3 class="text-left">Link up with other gamers all over the world who share the same tastes in games.</h3>
</div>

CSS:

Далее мы применим следующие стили для выравнивания по вертикали в соответствии с размером изображения div рядом с ним.

.textContainer { 
    height: 345px; 
    line-height: 340px;
}

.textContainer h3 {
    vertical-align: middle;
    display: inline-block;
}

Все сделано! Отрегулируйте высоту и высоту линии в стилях выше, если вы считаете, что она все еще немного не выровнена.

ПРИМЕР РАБОТЫ

36
Fizzix
h2.text-left{
  position:relative;
  top:50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

Пояснение:

Стиль top: 50% по сути отталкивает элемент заголовка на 50% от верха родительского элемента. Стили перевода также действуют аналогичным образом, перемещая элемент на 50% сверху вниз.

Обратите внимание, что это хорошо работает для заголовков с 1 (возможно, 2) строками текста, так как это просто смещает top элемента header на 50%, а затем остальная часть содержимого заполняется ниже, что означает, что с несколькими строками текста он будет немного ниже по вертикали.

Возможное исправление для нескольких строк было бы использовать процент чуть менее 50%.

9
Brian