我的垂直滚动照片库有问题, 我希望垂直图像调整大小,但水平图像的方式很好。 水平图像的宽度为900像素,垂直图像太高,无法进行舒适的屏幕观看,所以我需要两个440像素宽的垂直图像和一个20像素的中心边距,以适应一个水平线以下。
该网站是Cargocollective所以我不能使用PHP,只能使用Jquery,Javascript和CSS 我只能添加HTML。 有人有解决方案吗?
一种检测图像比例的方法,然后仅在高度>宽度
时调整大小由于
答案 0 :(得分:4)
$('img').each(function(i,obj){
if($(obj).height() > $(obj).width()){
//portrait, resize accordingly
}else{
//landscape display; the default you want.
}
});
在jQuery 1.7及更高版本中,我们可以在不使用$ .each迭代器的情况下访问每个图像的属性。
$('img').prop('height', function(){
if($(this).height() > $(this).width()){
//portrait, resize accordingly
}else{
//landscape display; the default you want.
}
});
答案 1 :(得分:2)
OhGodwhy答案的变体,确保在计算高度/宽度时加载图像。
$('#myElement img').load(function(){
if($(this).height() > $(this).width()){
//portrait, resize accordingly
var width = $(this).width();
var height = $(this).height();
var newWidth = 400;
var newHeight = newWidth * (height / width);
$(this).width(newWidth).height(newHeight);
}else{
//landscape display; the default you want.
}
});