use*_*827 5 html css twitter-bootstrap

上图显示了当我用各种图像填充我的引导程序图库时会发生什么.html看起来像这样:
<ul class="row">
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/1920x1080"></li>
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/1920x1080"></li>
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/800x600"></li>
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/1920x1080"></li>
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/1920x1080"></li>
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/800x600"></li>
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/800x600"></li>
<li class="col-lg-3 col-md-3 col-sm-6"><img class="img-responsive img-thumbnail" src="http://placehold.it/800x600"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
有没有办法让图像标准化为4:3而无需预处理或使它们无响应?
您可以使用百分比padding技巧(相对于其容器的宽度)设置元素的比例
因此,您必须img用a 替换元素div并将图像设置为背景.使用background-size:cover将缩放图像以填充其容器而不拉伸.当然会发生一些种植*)
所以你的HTML变成了
<ul class="row">
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/1920x1080')"></div>
</li>
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/1920x1080')"></div>
</li>
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/800x600')"></div>
</li>
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/1920x1080')"></div>
</li>
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/1920x1080')"></div>
</li>
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/800x600')"></div>
</li>
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/800x600')"></div>
</li>
<li class="col-lg-3 col-md-3 col-sm-6">
<div class="img-responsive img-thumbnail ratio-4-3" style="background-image:url('http://placehold.it/800x600')"></div>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
和你的CSS
/* CSS used here will be applied after bootstrap.css */
ul{
list-style:none;
margin:0;
padding:0;
}
.ratio-4-3{
width:100%;
position:relative;
background:url() 50% 50% no-repeat;
background-size:cover;
background-clip:content-box;
}
.ratio-4-3:before{
display:block;
content:"";
padding-top:75%;
}
Run Code Online (Sandbox Code Playgroud)
演示http://www.bootply.com/gpetrioli/thU89Ryoer