轮播仅显示小屏幕的整个屏幕宽度

时间:2019-03-24 18:02:00

标签: html css bootstrap-4 carousel

我有一个旋转木马,该旋转木马居中,并将其添加到“ 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代码及其样式表的代码段。 任何帮助我解决此问题的技巧或想法都将受到赞赏。

谢谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以尝试结合使用媒体查询和!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);