Bootstrap 更改轮播高度

Posted

技术标签:

【中文标题】Bootstrap 更改轮播高度【英文标题】:Bootstrap change carousel height 【发布时间】:2015-04-19 19:49:14 【问题描述】:

我在这里有一个 jsfiddle - http://jsfiddle.net/gh4Lur4b/8/

这是一个全宽引导轮播。

我想改变高度并保持全宽。

高度是由图片高度决定的。

如何改变旋转木马的高度并保持 100% 宽度。

.carousel-inner
    // height: 300px;


.item, img
    height: 100% !important;
    width:  100% !important;
    border: 1px solid red;

【问题讨论】:

您在问题中打错字 减小尺寸的最佳方法是改变图像高度 【参考方案1】:

以下应该可以工作

.carousel .item 
  height: 300px;


.item img 
    position: absolute;
    top: 0;
    left: 0;
    min-height: 300px;

JSFille 供参考。

【讨论】:

这不会改变图像大小。轮播会改变大小,但不会改变图像。我想我希望像background-size:cover; 这样图像会延伸jsfiddle.net/gh4Lur4b/17 哦,我明白你的意思了。抱歉,您最初的问题并不清楚。请查看我的更新答案。 但是现在当窗口变小时图像被压扁了。在您的 jsfiddle 中,当窗口变大时,图像不会被拉伸而是会扩展。当窗口变小时,我需要类似的效果。 你知道这些图片吗?换句话说,您可以在 CSS 中访问它们吗? 此外,如果您使用 50% 作为高度,此方法似乎不起作用。有谁知道该怎么做?谢谢。【参考方案2】:

谢谢!这篇文章很有帮助。您可能还想添加

对象拟合:覆盖;

保持不同窗口大小的纵横比

.carousel .item 
  height: 500px;


.item img 
    position: absolute;
    object-fit:cover;
    top: 0;
    left: 0;
    min-height: 500px;

对于 bootstrap 4 及更高版本,将 .item 替换为 .carousel-item

.carousel .carousel-item 
  height: 500px;


.carousel-item img 
    position: absolute;
    object-fit:cover;
    top: 0;
    left: 0;
    min-height: 500px;

【讨论】:

只为 Bootstrap 4 说话(我没有看过旧的),你的意思是 .carousel .carousel-item height: ..... ,而不是 .carousel .item bootstrap 4 及更高版本的优秀答案将.item 替换为.carousel-item,如上面的评论所述。【参考方案3】:

来自 Bootstrap 4

.carousel-item
    height: 200px;
 
.carousel-item img
    height: 200px;

【讨论】:

【参考方案4】:
like Answers above, if you do bootstrap 4 just add few line of css to .carousel , carousel-inner ,carousel-item and img as follows

.carousel .carousel-inner
height:500px

.carousel-inner .carousel-item img
min-height:200px;
//prevent it from stretch in screen size < than 768px
object-fit:cover


@media(max-width:768px)
.carousel .carousel-inner
//prevent it from adding a white space between carousel and container elements
height:auto
 

【讨论】:

【参考方案5】:

如果有人来这里寻找标题所指的内容,这将有所帮助(记住在 Bootstrap v4 中使用 jQuery 是可以的):

$.fn.normalizeHeight = function () 
    $(this).css("height", Math.max.apply(null, $(this).children().map(function () 
        return $(this).height();
    )) + "px");

    return this;
;

它会被简单地调用:

$("#slider .carousel-inner").normalizeHeight();

$(window).on('resize', function () 
  $("#slider .carousel-inner").normalizeHeight();
);

它符合 ES5 标准 + 可以在其他需要的相等子高度下工作。

【讨论】:

【参考方案6】:

对于引导程序 4

与图片在同一行 添加height: 300px;

<img src="..." style="height: 300px;" class="d-block w-100" >

【讨论】:

【参考方案7】:

尝试遵循它应该可以工作:

.carousel .carousel-item 
    max-height:550px;


.carousel-item img 
    object-fit:cover;
    max-height:550px;

【讨论】:

以上是关于Bootstrap 更改轮播高度的主要内容,如果未能解决你的问题,请参考以下文章

更改 Bootstrap 4 轮播控件颜色

Bootstrap 4 - 更改轮播控件的位置

Twitter Bootstrap:轮播:在定义高度视口中垂直居中图像

Bootstrap 4轮播图像无法正确显示

更改 SVG 背景图像的颜色(Bootstrap 4 轮播)

无法更改 Bootstrap 5 轮播指示器边框半径