twitter-bootstrap - 如何缩放轮播中的图像?

标签 twitter-bootstrap css carousel scaling

我已经构建了一个轮播,如果图像的宽度大于高度,我希望图像在一维宽度上最大化屏幕,反之亦然。

最大高度应该为页眉/导航栏和页脚留出空间,并且我希望它们按比例缩放。目前,它们正在缩放到宽度,但它们在垂直方向上极大地溢出了视口(viewport)。

HTML:

<div id="frontimages" class="carousel slide" data-ride="carousel">

    <ul class="carousel-indicators">
        <li data-target="#frontimages", data-slide-to="0" class="active"></li>
    </ul>

    <div class="carousel-inner">
        <div class="carousel-item active">
            <img class="d-block img-fluid" src="url" alt="title">
        </div>
    </div>

    <a class="carousel-control-prev" href="#frontimages" data-slide="prev">
        <span class="carousel-control-prev-icon"></span>
    </a>

    <a class="carousel-control-next" href="#frontimages" data-slide="next">
        <span class="carousel-control-next-icon"></span>
    </a>

</div>

CSS:

.carousel-inner img {
    width: 100%;
    height: 100%;
}

最佳答案

如果您希望每个图像覆盖整个轮播元素,您可以这样做:

.carousel-item {
  width: 100%;
  height: 300px; /* example */
}

.carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit

或者,使用背景图像,而不是固定高度,您也可以使其响应:

<div class="carousel-item" style="background-image:url('url');"></div>

.carousel-item {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.carousel-item:before {
  content: "";
  display: block;
  padding-bottom: 56.25%; /* example */
}

纵横比表:

aspect ratio  | padding-bottom value
--------------|----------------------
    16:9      |       56.25%
    4:3       |       75%
    3:2       |       66.66%
    8:5       |       62.5%

https://stackoverflow.com/a/10441480/483779

关于twitter-bootstrap - 如何缩放轮播中的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49111449/

相关文章:

css - X 可编辑日期时间图标未显示

javascript - 元素 offsetHeight 总是 "0"

javascript - Angular 无法使用模板渲染轮播

html - 在网页中显示菜单栏

html - 制作类似于 Windows 资源管理器的下拉树形菜单

HTML:在不离开屏幕的情况下,将元素尽可能高地保持在它自己的元素内

reactjs - React js中的条件内联样式

javascript - 轮播 Bootstrap

javascript - 如何在 Bootstrap 轮播中不同高度的元素之间平滑过渡

html - 如何去除bootstrap 4按钮点击效果