裁剪/隐藏HTML img标签而不是变形/拉伸它

时间:2015-03-23 16:16:27

标签: jquery html css twitter-bootstrap less

我正在使用Bootstrap 3 Carousel,图像变小以匹配视口。我需要的是保持图像的高度,但不是让图像拉伸/变形,我需要从两侧切割它。

示例(差):

Bad view (current)

示例(好):

Good view

滑块显示的图像部分无关紧要,重要的是它不会使图像变形。

这是我的轮播HTML:

<div id="main-slider" class="carousel slide" data-ride="carousel" style="position: absolute; top: 50px;">
    <!-- Indicators -->
    <ol class="carousel-indicators">
        <li data-target="#main-slider" data-slide-to="0" class="active"></li>
        <li data-target="#main-slider" data-slide-to="1"></li>
    </ol>

    <!-- Wrapper for slides -->
    <div class="carousel-inner" role="listbox">
        <div class="item active">
            <img src="./stylesheets/images/web-banner.jpg" alt="...">
            <div class="carousel-caption">
                TEST
            </div>
        </div>
        <div class="item">
            <img src="./stylesheets/images/web-banner.jpg" alt="...">
            <div class="carousel-caption">
                TEST
            </div>
        </div>
    </div>

    <!-- Controls -->
    <a class="left carousel-control" href="#main-slider" role="button" data-slide="prev">
        <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
    </a>
    <a class="right carousel-control" href="#main-slider" role="button" data-slide="next">
        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
    </a>
</div>

这是我为它写的习俗:

.carousel.slide {
    margin-top: -20px;

    img {
        width: 100% !important;
        min-height: 600px !important;
    }
}

我不知道如何解决这个问题。我没有想象会怎么回事。

3 个答案:

答案 0 :(得分:0)

这样可以解决问题:

.carousel.slide {
    margin-top: -20px;
}

img {

    min-height: 100px !important;

}

.carousel-inner
{
    width: 100px;
    overflow: hidden;
}

答案 1 :(得分:0)

如果图像的哪个部分显示无关紧要,您应该:

  • 删除宽度:100%,并设置实际图像尺寸
  • 将图像包装在div
  • 在包装div上设置宽度:100%
  • 设置溢出:隐藏在包装div上

答案 2 :(得分:0)

使用此LESS脚本:

.carousel.slide {
    margin-top: -20px;

    img {
        min-height: 600px !important;
    }
}

这将保持图像的高度,但会相应地缩放宽度。