【问题标题】:How to change Image of Bootstrap Carousel on Mobile View?如何在移动视图上更改引导轮播的图像?
【发布时间】:2025-11-24 22:50:01
【问题描述】:

/*Carousel CSS for Mobile View*/
@media (max-width: 425px){
  #banner-one img{
    background-image: url("/images/mobile_banner1.jpg") !important;
  }
  
  #banner-two img{
    background-image: url("/images/mobile_banner2.jpg") !important;
  }
  
  #banner-three img{
    background-image: url("/images/mobile_banner3.jpg") !important;
  }
  
  #banner-four img{
    background-image: url("/images/mobile_banner4.jpg") !important;
  }
}
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div id="banner-one" class="carousel-item active">
      <img class="d-block w-100" src="/images/banner-one.jpg" alt="First slide">
    </div>
    <div id="banner-two" class="carousel-item">
      <img class="d-block w-100" src="/images/banner-two.jpg" alt="Second slide">
    </div>
    <div id="banner-three" class="carousel-item">
      <img class="d-block w-100" src="/images/banner-three.jpg" alt="Third slide">
    </div>
    <div id="banner-four" class="carousel-item">
      <img class="d-block w-100" src="/images/banner-four.jpg" alt="Third slide">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleControls" 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="#carouselExampleControls" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

我的项目中有一个 Bootstrap Carousel,它在每个视图中都能完美运行。但我想更改移动视图中每张幻灯片的轮播图像。我已经尝试了所有方法,但都失败了。

【问题讨论】:

  • 请张贴代码并解释您的尝试。 *.com/help/how-to-ask
  • @TimothyAlexisVass 我已经添加了代码,请看一下。

标签: javascript html jquery css bootstrap-4


【解决方案1】:

您可以设置两个图像,并通过 css 播放它们的可见性。

见下sn-p(使用全屏切换视图):

.desk-img {
  display: block;
}

.mobile-img {
  display: none;
}

@media (max-width: 700px) {
  .desk-img {
    display: none !important;
  }
  .mobile-img {
    display: block;
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
    <div id="banner-one" class="carousel-item active">
      <img class=" w-100  desk-img" src="https://via.placeholder.com/800x380?text=slide%201" alt="First slide">
      <img class=" w-100  mobile-img" src="https://via.placeholder.com/800x380?text=mobile slide%201" alt="First slide">
    </div>
    <div id="banner-two" class="carousel-item">
      <img class=" w-100 desk-img" src="https://via.placeholder.com/800x380?text=slide%202" alt="Second slide">
      <img class=" w-100  mobile-img" src="https://via.placeholder.com/800x380?text=mobile slide%202" alt="Second slide">
    </div>
    <div id="banner-three" class="carousel-item">
      <img class=" w-100 desk-img" src="https://via.placeholder.com/800x380?text=slide%203" alt="Third slide">
      <img class=" w-100  mobile-img" src="https://via.placeholder.com/800x380?text=mobile slide%203" alt="Third slide">
    </div>
  </div>
  <a class="carousel-control-prev" href="#carouselExampleControls" 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="#carouselExampleControls" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
</div>

【讨论】:

    【解决方案2】:

    我认为你可以只使用picture 元素,

    <picture>
      <source media="(max-width: 425px)" srcset="mobile-img.jpg" />
      <source media="(max-width: 768px)" srcset="tablet-img.jpg" />
      <img src="desktop-or-default-img.jpg" class="d-block w-100" alt="..." />
    </picture>
    

    在这种情况下,如果屏幕低于 425px 将使用 mobile-img.jpg,如果屏幕低于 768px-425px 将使用 tablet-img.jpg,并且会使用 desktop-or-default-img.jpg如果屏幕位于 (any)px-768px,则使用。

    【讨论】:

      最近更新 更多