如何在Bootstrap 4中定位轮播指示器

时间:2018-01-17 23:51:45

标签: css carousel bootstrap-4 twitter-bootstrap-4

我试图通过给.carousel-indicators一个bottom: -50px;来移动滑块图像下的指标,但指标消失了。现在我猜这与滑块的overflow:hidden有关,但我无法弄明白。

这是我的代码:

<div id="slider" class="carousel slide" data-ride="carousel">
    <ol class="carousel-indicators">
        <li data-target="#slider" data-slide-to="0" class="active"></li>
        <li data-target="#slider" data-slide-to="1"></li>
        <li data-target="#slider" data-slide-to="2"></li>
        <li data-target="#slider" data-slide-to="3"></li>
        <li data-target="#slider" data-slide-to="4"></li>
    </ol>

    <div class="carousel-inner">
        <div class="carousel-item active">
            <img class="d-block w-100" src="header.jpg">
        </div>
        <div class="carousel-item">
            <img class="d-block w-100" src="slider2.jpg">
        </div>
        <div class="carousel-item">
            <img class="d-block w-100" src="slider3.jpg">
        </div>
        <div class="carousel-item">
            <img class="d-block w-100" src="slider4.jpeg">
        </div>
        <div class="carousel-item">
            <img class="d-block w-100" src="slider5.jpeg">
        </div>
    </div>
</div>

和CSS在这里:

#slider {
    height: 350px;
    overflow: hidden;
    width: 100%;
}
.carousel-indicators li {
    width: 10px;
    height: 10px;
    border-radius: 100%;
}
.carousel-indicators {
    bottom: -50px;
}

5 个答案:

答案 0 :(得分:2)

bottom: -50px上设置.carousel-indicators可以很好地将指标移动到轮播下方,但是由于overflow: hidden,结果是不可见的,正如您怀疑的那样。当指示器离开旋转木马的边界框时,指示器被简单地剪掉。

我建议通过#slider类修改高度,而不是设置.carousel-item本身的高度和溢出属性,如下所示:

.carousel-item {
    height: 350px;
}

.carousel-indicators li {
    width: 10px;
    height: 10px;
    border-radius: 100%;
}
.carousel-indicators {
    bottom: -50px;
}

这不会干扰指标的定位。

一个工作示例可用作Codepen

答案 1 :(得分:1)

我最近也遇到了这个问题,但是我通过设置 div flex-direction: column-reverse 来解决它。这可能为时已晚,但我认为它可以帮助那些遇到相同问题的人。

答案 2 :(得分:0)

为了使用底部,元素需要相对,绝对或固定。如果它是相对定位的,则底部属性使元素的底边移动到其正常位置的上方/下方。

.carousel-indicators {
position: absolute;
bottom: -50px;
}

如果它已经正确定位,则底部:-50px可能会将元素移动到父元素#slider的可见区域下方。 尝试删除溢出:隐藏;来自#slider并检查旋转木马指示器的位置。

答案 3 :(得分:0)

使用此代码对我有用!

 .carousel-indicator {
   position: relative;
   bottom: -50px;
 }

这使我的指标下降得足以使我的段落可见。

答案 4 :(得分:0)

我尝试将此指示器放置在背景图像滑块的底部中心。它的工作。

.carousel-indicators{
  position:absolute;
  right:0;
  bottom:150px;
  left:0px; 
 }