我正在尝试找到一种方法,将我的视口内的图像垂直居中为旋转木马。目前图像工作正常,它将图像的大小调整为宽度上视口的大小。但我想使用图像的中心并裁剪照片的顶部和底部。
这是HTML:
<div class="carousel slide hero">
<div class="carousel-inner">
<div class="active item">
<img src="img/hero/1.jpg" />
</div>
<div class="item">
<img src="img/hero/2.jpg" />
</div>
<div class="item">
<img src="img/hero/3.jpg" />
</div>
</div>
<a class="carousel-control left" href=".hero" data-slide="prev">‹</a>
<a class="carousel-control right" href=".hero" data-slide="next">›</a>
</div><!-- hero -->
和css的一小部分:
.carousel-inner {
height: 320px;
overflow: hidden;
}
非常感谢任何帮助。我想要它,如果他们上传任何尺寸的照片,它可以被认为是可用的。
答案 0 :(得分:18)
我通过指定.item高度并使其中的图像绝对定位来解决这个问题:
.item {
height: 300px;
}
.item img {
max-height: 100%;
max-width: 100%;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
这将使旋转木马高度为300px,图像垂直和水平居中。
答案 1 :(得分:6)
如果您不知道图像的高度,可以使用下一个样式
#product-detail .carousel-inner{ height: 500px; } #product-detail .carousel-inner>.active{ position: relative; top: 50%; transform: translateY(-50%); } #product-detail .carousel-inner>.next, #product-detail .carousel-inner>.prev{ top: 50%; transform: translateY(-50%); }
这里,#product-detail
用作覆盖引导程序样式的包装器
另外,不要忘记transform
。{/ p>
答案 2 :(得分:1)
使用以下方法,将图像定位在轮播视口的中心并设置 高度为320px
.carousel-inner>.item>img {
margin: 0 auto;
height: 320px;
}
希望这能帮到你
答案 3 :(得分:1)
答案 4 :(得分:0)
我在YorickH回答中添加了一点点
.carousel-inner>.item>img {
margin: 0 auto;
height: 600px;
width: 100%;
}
这样可以确保图像延伸到屏幕的末端(或容器),并稍微增加高度,使图像看起来不那么拉伸和挤压。
答案 5 :(得分:0)
我想将图像置于旋转木马中心
grigson的回答在firefox上运行得很好,但在Chrome上无效。经过多次努力,我想出了这个解决方案:
将图像作为 div.item 的背景,因为这样您可以轻松定位它们而不会打扰布局:
.carousel-inner .item {
width: 100%; /* Your width */
height: 500px; /* Your height */
background-repeat: no-repeat;
background-position: center;
background-size: cover; /* This also makes sure it fills the whole div */
}
/* add the images to divs */
div.item:nth-of-type(1) {
background-image: url("../img/carousel-photos/1.jpg");
}
div.item:nth-of-type(2) {
background-image: url("../img/carousel-photos/2.jpg");
}
div.item:nth-of-type(3) {
background-image: url("../img/carousel-photos/3.jpg");
}
div.item:nth-of-type(4) {
background-image: url("../img/carousel-photos/4.jpg");
}
这可能不是最好的方法,但对我来说效果非常好。