【问题标题】:Bootstrap 4 Carousel Indicators positioningBootstrap 4 轮播指示器定位
【发布时间】:2018-04-03 09:09:45
【问题描述】:

我正在设计一个 Bootstrap 4 轮播,我需要轮播指示器进入左上角。但我还需要它们与其上方的导航垂直对齐,它包含在 Bootstrap 类 .container 中。

由于我知道我的解释很糟糕,这里有一张图片向您展示了我的意思:

如果我使用绝对位置,并添加 top: 0, left: 0(或其他数字),则定位会根据屏幕大小移动,并且与导航不匹配。

这是我的代码大纲:

.carousel-indicators {
  top: 10px;
  left: 0;
  right: auto;
}

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

.carousel-indicators li:not(:last-child) {
  margin-right: 20px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta.2/css/bootstrap.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>


<div class="container">
  <nav class="navbar navbar-light bg-light">
    <a class="navbar-brand" href="#">Navbar</a>
  </nav>
</div>

<div id="carousel" class="carousel slide" data-ride="carousel">
  <ol class="carousel-indicators">
    <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="3"></li>
  </ol>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="Third slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="Fourth slide">
    </div>
  </div>
</div>

我怎样才能做到这一点?最好的方法是什么?

谢谢!

【问题讨论】:

  • 我们怎样才能使指标位置居中?看到它的一点点向左。

标签: css twitter-bootstrap bootstrap-4 carousel


【解决方案1】:

只需覆盖 carousel-indicator 的 justify-content 和 margin,然后添加填充,如下所示。还可以将指标包装在容器内并通过添加预定义的类 position-relative 使其成为 position:relative。

.my-slider .carousel-indicators {
  top: 10px;
  justify-content:flex-start;
  margin:0;
  padding-left:15px;
  padding-right:15px;
}

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

.carousel-indicators li:not(:last-child) {
  margin-right: 20px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta.2/css/bootstrap.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>


<div class="container">
  <nav class="navbar navbar-light bg-light">
    <a class="navbar-brand" href="#">Navbar</a>
  </nav>
</div>

<div id="carousel" class="my-slider carousel slide" data-ride="carousel">
  <div class="container position-relative">
  <ol class="carousel-indicators">
    <li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
    <li data-target="#carouselExampleIndicators" data-slide-to="3"></li>
  </ol>
 </div>
  <div class="carousel-inner">
    <div class="carousel-item active">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="First slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="Second slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="Third slide">
    </div>
    <div class="carousel-item">
      <img class="d-block w-100" src="http://via.placeholder.com/800x300" alt="Fourth slide">
    </div>
  </div>
</div>

【讨论】:

  • 就是这样!谢谢,拉吉!
猜你喜欢
  • 2018-06-26
  • 1970-01-01
  • 1970-01-01
  • 2019-06-21
  • 1970-01-01
  • 2019-10-19
  • 2019-02-28
  • 2022-09-29
  • 1970-01-01
相关资源
最近更新 更多