【发布时间】:2015-08-23 01:05:51
【问题描述】:
我正在努力使图像真正响应,以便无论如何它们都适合正方形。
例如:
http://prntscr.com/87jey9 (对不起,糟糕的图像,由于低代表无法在这里上传图像。)
基本上,图像应该居中,显示图像中可以显示为正方形的最大部分。我不希望裁剪的方形图像中有空白区域。
我使用 jquery 进行了尝试,甚至成功了,但我错过了如果页面有多个图像,它将无法正常工作。
$(window).on('load resize',squarifyImage);
function squarifyImage(){
var cw = $('.square').width();
$('.square').css({'height':cw+'px'});
$('.square').css('overflow', "hidden");
$('.thumb').css('width', '100%');
var w = $('.thumb').width();
var h = $('.thumb').height();
if(w < h){
$('.thumb').css('width', '100%');
w = $('.thumb').width();
h = $('.thumb').height();
var top = (((h - w)/2)*-1);
$('.thumb').css('margin-top', top);
} else {
$('.thumb').css("width", "");
$('.thumb').css('height', '100%');
w = $('.thumb').width();
h = $('.thumb').height();
var left = (((w - h)/2)*-1);
$('.thumb').css('margin-left', left);
}
}
HTML 就像,
<div class="square">
<img class="thumb" src="testing.jpg"></img>
</div>
我如何只使用 CSS 来做到这一点?
【问题讨论】:
-
如果您正在寻找纯 CSS 的解决方案,那么 jQuery 标签的目的是什么???
-
也欢迎更好的jQuery解决方案
-
如何包含 Bootstrap CSS,然后只为图像提供类
class="img-responsive"getbootstrap.com/css/#images