【问题标题】:Let DIV break out of Bootstrap 4 container让 DIV 脱离 Bootstrap 4 容器
【发布时间】:2018-10-27 18:42:55
【问题描述】:

我在 Bootstra 4 中使用了一个容器,将我的页面内容置于浏览器中间。到目前为止一切正常。

但我需要更多的东西。容器内的内容应该在左侧爆发并且应该增长到浏览器窗口。但只在左侧。

因为我使用的是光滑的滑块,所以我不能在容器 DIV 中的单个对象上使用position:absolute 或其他东西。我需要容器内的整个 DIV 增长到左侧。我需要容器将其在右侧与页面的其余部分对齐。

这是我的实际代码:https://codepen.io/cray_code/pen/erQJey

这就是我需要的。幻灯片内的图像应该向左增长。 蓝色背景是浏览器窗口:

<div class="bg-dark">
    <div class="container bg-white">
        <div class="slider">
            <div><img src="http://via.placeholder.com/2500x500" class="img-fluid"></div>
            <div><img src="http://via.placeholder.com/2500x500" class="img-fluid"></div>
            <div><img src="http://via.placeholder.com/2500x500" class="img-fluid"></div>
        </div>
    </div>
</div>

<script type="text/javascript">
$(document).ready(function(){
    $('.slider').slick({
        infinite: true,
        dots: true,
        arrows: false,
        draggable: false,
        fade:true,
        autoplay:true,
        autoplaySpeed: 4000,
        speed:1200,
    })
});
</script>

【问题讨论】:

  • 除非你使用两个容器或一个流体容器,否则你不能在 Bootstrap 中这样做。

标签: javascript html css bootstrap-4 slick.js


【解决方案1】:

为寻求纯 CSS 解决方案的未来读者提供答案。您可以根据 Bootstrap container 宽度的 1/2 来计算边距。

左对齐引导容器:https://www.codeply.com/go/tnjA5Hn8Zs

.container-left {
   padding-left: 15px;
   padding-right: 15px;
}

@media (min-width:576px){
  .container-left {
    margin-left: 0;
    margin-right: calc(50vw - 270px);
  }
}

@media (min-width:768px){
  .container-left {
    margin-left: 0;
    margin-right: calc(50vw - 360px);
  }
}

@media (min-width:992px){
  .container-left {
    margin-left: 0;
    margin-right: calc(50vw - 480px);
  }
}

@media (min-width:1200px){
  .container-left {
    margin-left: 0;
    margin-right: calc(50vw - 570px);
  }
}

【讨论】:

    【解决方案2】:

    试试这个 (codepen)

    HTML:

    <div class="bg-dark">
        <div class="container bg-white">
            Content
        </div>
        <div class="slider">
            Slider
        </div>
        <div class="container bg-white">
            Content2
        </div>
    </div>
    

    JS:

    var width = $(window).width() - (($(window).width() - 
    $('.container').outerWidth() ) / 2);
    $('.slider').width(width+'px');
    
    $( window ).resize(function() {
        var width = $(window).width() - (($(window).width() - $('.container').outerWidth() ) / 2);
        $('.slider').width(width+'px');
    });
    

    【讨论】:

    • 谢谢,但这不是我需要的。我想要容器内的滑块,让它在一侧超出它。它应该留在另一边(页面中间)的容器中。
    • @Cray 我无法想象结果。如果你有一个例子,它会有所帮助
    • 我添加了一张图片
    • this example的slick slider,应该是slick slider的。 @克雷
    • 我看不出这有什么帮助,抱歉。
    猜你喜欢
    • 2017-02-01
    • 2020-02-24
    • 1970-01-01
    • 2014-11-28
    • 1970-01-01
    • 2018-08-23
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    相关资源
    最近更新 更多