如何使Bootstrap 4幻灯片背景图片全宽?

3
我有一个使用Bootstrap 4编写的2张幻灯片,每张幻灯片都有一张图片作为其背景,但我无法使这些图片全宽。
通常情况下,我会在网页上使用background-size: coverbackground-attachment: fixed;background-repeat: no-repeat来实现类似的效果,但是我无法在轮播中实现这个效果。
我的代码如下。我尝试将背景大小、附件和覆盖应用到以下类中:.carousel.carousel-inner.carousel-item以及轮播中的img
<div id="officeCarousel" class="carousel slide" data-ride="carousel" style="width:100%;">
    <ol class="carousel-indicators">
      <li data-target="#officeCarousel" data-slide-to="0" class="active"></li>
      <li data-target="#officeCarousel" data-slide-to="1"></li>
    </ol>
    <div class="carousel-inner" role="listbox">
      <div class="carousel-item active">
        <img class="d-block img-fluid" src="office1.png" alt="First slide">
        <div class="carousel-caption d-none d-md-block">
          <div class="card card-inverse card-success mb-3 text-center">
            <div class="card-block">
              <h4 class="card-title">Office 1</h4>
              <p class="card-text">Work from the heart of the newly renovated area.</p>
                <a href="#" class="card-link">About this office</a>
<a href="#" class="card-link">Book this office</a>
            </div>
          </div>
        </div>
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="office2.jpg" alt="Second slide">
        <div class="carousel-caption d-none d-md-block">
          <div class="card card-inverse card-success mb-3 text-center">
            <div class="card-block">
              <h4 class="card-title">Office 2</h4>
              <p class="card-text">Work from this inner-city rural village.</p>
                <a href="#" class="card-link">About this office</a>
<a href="#" class="card-link">Book this office</a>
            </div>
          </div>
        </div>
      </div>
    </div>
    <a class="carousel-control-prev" href="#officeCarousel" 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="#officeCarousel" role="button" data-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>

非常感谢您的帮助!

编辑:下面是相关部分的CSS。这是默认的V4 Bootstrap CSS。

.carousel {
  position: relative;
}

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden
}

.carousel-item {
  position: relative;
  display: none;
  width: 100%
}

也许您可以同时包含CSS吗? - Carol Skelly
确保轮播图不在容器中,因为这会有一个最大宽度限制。 - Matthew Brent
ZimSystem,当然可以!我现在会编辑我的原始问题以包含CSS。 - chris45
1个回答

2
这里有一个很好的答案,包括工作演示: https://startbootstrap.com/template-overviews/full-slider/ 在HTML页面中放置以下内容(您需要下载Bootstrap 4或使用CDN替换链接):
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <title>Full Slider - Start Bootstrap Template</title>

    <!-- Bootstrap core CSS -->
    <link href="../Content/css/bootstrap.min.css" rel="stylesheet" />

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="../Scripts/bootstrap.bundle.min.js"></script>
</head>
<body>

<style>
    .carousel-item {
    height: 100%;
    min-height: 300px;
    background: no-repeat center center scroll;
    background-size: cover;
    }
</style>

<div id="carouselExampleIndicators" 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>
    </ol>
    <div class="carousel-inner" role="listbox">
        <!-- Slide One - Set the background image for this slide in the line below -->
        <div class="carousel-item active" style="background-image: url('http://placehold.it/1900x1080')">
            <div class="carousel-caption d-none d-md-block">
                <h3>First Slide</h3>
                <p>This is a description for the first slide.</p>
            </div>
        </div>
        <!-- Slide Two - Set the background image for this slide in the line below -->
        <div class="carousel-item" style="background-image: url('http://placehold.it/1900x1080')">
            <div class="carousel-caption d-none d-md-block">
                <h3>Second Slide</h3>
                <p>This is a description for the second slide.</p>
            </div>
        </div>
        <!-- Slide Three - Set the background image for this slide in the line below -->
        <div class="carousel-item" style="background-image: url('http://placehold.it/1900x1080')">
            <div class="carousel-caption d-none d-md-block">
                <h3>Third Slide</h3>
                <p>This is a description for the third slide.</p>
            </div>
        </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" 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="#carouselExampleIndicators" role="button" data-slide="next">
        <span class="carousel-control-next-icon" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
    </a>
</div>


</body>
</html>

提供的链接已过期。 - ffuentes
对我来说不起作用,但我的默认Bootstrap Carousel HTML看起来有点不同。 - mLstudent33

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接