更改轮播宽度

时间:2018-01-19 09:38:29

标签: html css twitter-bootstrap sharepoint carousel

我有一个显示不同类型图像的旋转木马。它们具有不同的宽度和高度。 我正在使用bootstrap carousel。

有高度,没有问题,当图像显示变化时,它会发生变化。但是对于宽度,它总是一样(比所有图像都大,如截图所示):

enter image description here

我的轮播代码是下一个:

<div class="container">
<div id="myCarousel" class="carousel slide" data-ride="carousel" margin: 0 auto">

    <!-- Wrapper for slides -->
    <div class="carousel-inner">
        <asp:Repeater ID="repeaterImages" runat="server">
            <ItemTemplate>
                <div class="carousel item <%# (Container.ItemIndex == 0 ? "active" : "") %>">
                    <asp:Image ID="Image1" ImageUrl='<%# Eval("FileName") %>' runat="server" />
                </div>
            </ItemTemplate>
        </asp:Repeater>
    </div>

    <!-- Left and right controls -->
    <a class="left carousel-control" href="#myCarousel" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left"></span>
        <span class="sr-only">Previous</span>
    </a>
    <a class="right carousel-control" href="#myCarousel" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right"></span>
        <span class="sr-only">Next</span>
    </a>
</div>
</div>

我必须做些什么才能让宽度根据图像而变化?为什么要改变高度而不是宽度?

非常感谢!

3 个答案:

答案 0 :(得分:1)

我修正了将其添加到我的css:

.carousel-inner > .item > img, .carousel-inner > .item > a > img {
    width: 100%;
}

答案 1 :(得分:0)

根据图像高度更改轮播高度是一种更常见的情况,而更改轮播宽度则更具体。我认为这就是默认情况下这样实现的原因。通常最好的方法是将图像预先设置为相同尺寸,因此在这种情况下,您无需关心更改旋转木马的尺寸。

但是,您可以使用Carousel Events更改轮播宽度:

$('#carouselExampleControls').on('slid.bs.carousel', resizeCarousel);
$(document).ready(resizeCarousel);

function resizeCarousel(){
    var imgWidth = $('.carousel-item.active img').width();
    $('#carouselContainer').width(imgWidth);
}

查看example

答案 2 :(得分:0)

引导程序-内联样式 <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel" style="width: 80%;">

class="carousel slide w-75"