【问题标题】:Carousel to display full width of screen for small screens only轮播仅针对小屏幕显示全屏
【发布时间】:2019-03-25 02:24:18
【问题描述】:

我有一个居中的轮播,通过将其添加到“w-50”类中只占据屏幕的一半。当浏览器调整为较小的屏幕(如移动设备)时,我希望轮播占据整个屏幕宽度。为此,我确定我需要找到一种方法将其更改为“w-100”,但我不确定如何去做。

我曾尝试在 CSS 中使用 @media,但没有任何运气。

<div id="catalogueSelection">
        <div id="catalogueCarousel" class="carousel slide w-50" data-ride="carousel" data-interval="5000">
            <ol class="carousel-indicators">
                <li data-target="#catalogueCarousel" data-slide-to="0" class="active"></li>
                <li data-target="#catalogueCarousel" data-slide-to="1"></li>
                <li data-target="#catalogueCarousel" data-slide-to="2"></li>
                <li data-target="#catalogueCarousel" data-slide-to="3"></li>
                <li data-target="#catalogueCarousel" data-slide-to="4"></li>
                <li data-target="#catalogueCarousel" data-slide-to="5"></li>
                <li data-target="#catalogueCarousel" data-slide-to="6"></li>
            </ol>
            <div class="carousel-inner">
                <div class="carousel-item active">
                    <img id="franceImage" class="d-block w-100" src="../images/france.jpg">
                    <div class="carousel-caption countryCaption">
                        <h2>France</h2>
                        <p>See Products</p>
                    </div>
                </div>
                <div class="carousel-item">
                    <img id="italyImage" class="d-block w-100" src="../images/italy.jpg">
                    <div class="carousel-caption countryCaption">
                        <h2>Italy</h2>
                        <p>See Products</p>
                    </div>
                </div>
                <div class="carousel-item">
                    <img class="d-block w-100" src="../images/spain.jpg">
                    <div class="carousel-caption countryCaption">
                        <h2>Spain</h2>
                        <p>See Products</p>
                    </div>
                </div>
                <div class="carousel-item">
                    <img id="lebanonImage" class="d-block w-100" src="../images/lebanon.jpg">
                    <div class="carousel-caption countryCaption">
                        <h2>Lebanon</h2>
                        <p>See Products</p>
                    </div>
                </div>
                <div class="carousel-item">
                    <img id="southAfricaImage" class="d-block w-100" src="../images/south_africa.jpg">
                    <div class="carousel-caption countryCaption">
                        <h2>South Africa</h2>
                        <p>See Products</p>
                    </div>
                </div>
                <div id="southAmericaImage" class="carousel-item">
                    <img class="d-block w-100" src="../images/south_america.jpg">
                    <div class="carousel-caption countryCaption">
                        <h2>South America</h2>
                        <p>See Products</p>
                    </div>
                </div>
                <div id="domesticImage" class="carousel-item">
                    <img class="d-block w-100" src="../images/united_states.jpg">
                    <div class="carousel-caption countryCaption">
                        <h2>Domestic</h2>
                        <p>See Products</p>
                    </div>
                </div>
            </div>
            <a class="carousel-control-prev" href="#catalogueCarousel" 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="#catalogueCarousel" role="button" data-slide="next">
                <span class="carousel-control-next-icon" aria-hidden="true"></span>
                <span class="sr-only">Next</span>
            </a>
        </div>
    </div>
#catalogueCarousel {
    margin: auto;
    border: 3px solid;
    border-color: black;

}
.carousel-inner {

}
.carousel-item img {
    height: 500px; !important
    overflow: hidden;
    opacity: 0.9;   
    opacity: 0.8;       
}
.countryCaption h2 {
    color: red;
    font-family: 'Prosto One', cursive;
    opacity: 1; !important

}
.countryCaption p{
    color: darkred;
    font-weight: bold;
    font-family: 'Prosto One', cursive;
    font-size: 20px;
    opacity: 1; !important

}

上面是轮播 html 代码的 sn-p,以及它的样式表。 任何可以帮助我解决此问题的提示或想法表示赞赏。

谢谢。

【问题讨论】:

    标签: html css bootstrap-4 carousel


    【解决方案1】:

    您可以尝试结合使用媒体查询和!important 规则。 假设768px 是您的移动断点:

    @media(max-width:768px){
      #catalogueCarousel {
        width: 100% !important;
      }
    }
    

    你也可以使用 jQuery:

    function resizeCarousel() {
      if($window.width() < 768) {
        $('#catalogueCarousel')
          .removeClass('w-50')
          .addClass('w-100');
      } else {
        $('#catalogueCarousel')
          .removeClass('w-100')
          .addClass('w-50');
      }
    }
    resizeCarousel();
    $window.resize(resizeCarousel);
    

    【讨论】:

    • 工作就像一个魅力,真的很喜欢 jQuery 方法。感谢你们的时间!
    【解决方案2】:

    您只需要为小型设备添加媒体查询。在样式表中添加下面的 CSS 我希望它能解决您的问题。谢谢

    @media only screen and (max-width: 768px) {
      #catalogueCarousel {
        width: 100% !important;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-17
      • 2018-04-04
      • 2015-03-03
      • 2013-04-27
      • 2018-10-09
      • 2020-05-07
      • 2015-03-07
      • 1970-01-01
      相关资源
      最近更新 更多