我有一个带有以下代码的Bootstrap carousel;我如何调整此图像的大小以完全填充丢失图像质量的carousel,并确保图像高度不超过carousel的宽度或高度?
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.1/css/bootstrap.min.css" rel="stylesheet"/>
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carouselExampleIndicators" data-slide-to="0" class="active"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="1"></li>
<li data-target="#carouselExampleIndicators" data-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active" style="width:400px;">
<img class="d-block w-100" src="{{articles.image.url}}" alt="First slide" style=" width:100%;height:auto;">
<div class="carousel-caption d-none d-md-block">
<h5>Latest</h5>
<p>{{articles.title}}</p>
</div>
</div>
<div class="carousel-item">
<img class="d-block w-100" src=".../800x400?auto=yes&bg=666&fg=444&text=Second slide" alt="Second slide">{% lorem 1 p %}
</div>
<div class="carousel-item">
<img class="d-block w-100" src=".../800x400?auto=yes&bg=555&fg=333&text=Third slide" alt="Third slide">{% lorem 1 p %}
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
发布于 2018-06-04 20:01:31
在您的css中使用object fit属性,并为您的图像标签或相应的类提供固定的宽度和高度,以便每个图像都具有相同的宽度和高度,现在您的图像不会被扭曲。
.d-block w-100 {
width:100%;
height:550px;
object-fit:cover;
object-position:50% 50%;
}
发布于 2018-06-04 19:35:33
您可以将图像设置为100%自动宽度和高度。
发布于 2018-06-05 17:33:11
另一种选择是使用css背景图像而不是img标签,并使用背景大小封面属性,与img对象适合属性相比,该属性具有更多的浏览器支持。
<div class="carousel-item" style="background: url('')"></div>
.carousel-item{
height: 500px;
background-color: #000;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
}
https://stackoverflow.com/questions/50679599
复制相似问题