Привет!
Как сделать такое, пример представлен
.b-about__carousel-inner {
height: auto;
position: relative;
}
.b-about .carousel-fade .carousel-inner .active {
opacity: 1;
position: relative;
}
.b-about__indicator-list {
margin-top: -54px;
width: 100%;
top: 50%;
bottom: auto;
margin-top: -74px;
position: absolute;
}
.b-about__indicator-list li {
width: 17px;
height: 2px;
margin: 0 3px;
background-color: #cfcfcf;
border: 0;
border-radius: 0;
}
.b-about__indicator-item.active {
width: 17px;
height: 2px;
margin: 0 3px;
background-color: #ed454b;
margin: 0 6px;
}
.b-about__container-image {
height: auto;
width: 100%;
background-color: #e6e6e6;
text-align: center;
position: relative;
}
.b-about__image {
display: block;
width: 100%;
}
.b-about__information {
padding: 91px 15px 0 25px;
margin: 0 auto;
height: 300px;
}
<div role="listbox" class="b-about__carousel-inner carousel-inner">
<div class="active b-about__item item">
<div class="b-about__container-image">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTD60q-ZK6Jnex3EvBk8tjS205SgzGkqzCQ0qDhgy-D84lrtTax151OVPs" alt="" title="" class="b-about__image">
</div>
<div class="b-about__information">
<h2 class="b-title b-title--about">Двигатель</h2>
<div class="b-about__text-about">
<p>Надежный, прочный и экономичный 4-цилиндровый двигатель</p>
</div>
</div>
</div>
<!-- Controls-->
<ol class="b-about__indicator-list carousel-indicators">
<li data-target="#about" data-slide-to="0" class="active b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="1" class="b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="2" class="b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="3" class="b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="4" class="b-about__indicator-item"></li>
</ol>
</div>
Если вам надо позиция относительно низа картинки, так и задайте её относительно низа то есть bottom
. При это не нужно указывать margin
для абсолютно позиционируемых элементов, это не имеет смысла. Если контейнер имеет фиксированный размер, то укажите единицы измерения в пикселях, если контейнер резиновый, то в процентах.
И общий совет: поменьше используйте магических чисел вроде 74px
.
Если без изменения html, то только javascript-ом задавать top
для ваших индикаторов равный высоте изображения и margin-top
отрицательный на нужный отступ снизу
var imgHeight = $('.b-about__container-image').height()
$('.b-about__indicator-list').css('top', imgHeight);
$(window).on('resize', function(){
imgHeight = $('.b-about__container-image').height()
$('.b-about__indicator-list').css('top', imgHeight);
});
.b-about__carousel-inner {
height: auto;
position: relative;
}
.b-about .carousel-fade .carousel-inner .active {
opacity: 1;
position: relative;
}
.b-about__indicator-list {
width: 100%;
margin-top: -50px;
position: absolute;
}
.b-about__indicator-list li {
width: 17px;
height: 2px;
margin: 0 3px;
background-color: #cfcfcf;
border: 0;
border-radius: 0;
}
.b-about__indicator-item.active {
width: 17px;
height: 2px;
margin: 0 3px;
background-color: #ed454b;
margin: 0 6px;
}
.b-about__container-image {
height: auto;
width: 100%;
background-color: #e6e6e6;
text-align: center;
position: relative;
}
.b-about__image {
display: block;
width: 100%;
}
.b-about__information {
padding: 91px 15px 0 25px;
margin: 0 auto;
height: 300px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div role="listbox" class="b-about__carousel-inner carousel-inner">
<div class="active b-about__item item">
<div class="b-about__container-image">
<img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTD60q-ZK6Jnex3EvBk8tjS205SgzGkqzCQ0qDhgy-D84lrtTax151OVPs" alt="" title="" class="b-about__image">
</div>
<div class="b-about__information">
<h2 class="b-title b-title--about">Двигатель</h2>
<div class="b-about__text-about">
<p>Надежный, прочный и экономичный 4-цилиндровый двигатель</p>
</div>
</div>
</div>
<!-- Controls-->
<ol class="b-about__indicator-list carousel-indicators">
<li data-target="#about" data-slide-to="0" class="active b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="1" class="b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="2" class="b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="3" class="b-about__indicator-item"></li>
<li data-target="#about" data-slide-to="4" class="b-about__indicator-item"></li>
</ol>
</div>
А так, вообще нужно перенести индикаторы в b-about__container-image
и спокойно указывать ему нужный bottom
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Вместо обычной формы ввода не получается сделать чтобы для каждого введенного символа была своя ячейка
Я знаю, что в yii2 можно добавлять timestamp к подключаемым js/css, если в AssetManager указать 'appendTimestamp' => true