2017-04-23 87 views
0

我知道这个问题已经被问过一百万次了,但是我试图以一种不同的方式做到这一点,这是一种更简单的方法,因为我不必支持所有主流浏览器。通过css按比例调整图片大小

对于我们网站上的每个图片,我们知道运行前的宽度和高度,因为cdn会为我们返回此信息,一旦图像注册,我基本上会提取CURRENT宽度并计算出减少的百分比(如果有的话)该图像。

例子:

var originalWidth = 640; 
var originalHeight = 480; 
var actualWidth = 431; 
var decrease = (originalWidth-actualWidth)/originalWidth*100; 

现在,我已经得到了从减少它的原始大小,我想做与钙CSS法的东西,看到我们所有的图像缩放比例。我已经试过这样:

$element.css('height', `calc(${originalHeight}px - (${originalHeight}px * ${decrease}/100))`); 

我已经拿不拿这个来应用到元素,如果我做它的工作原理更简单的计算方法的CSS,但是这甚至不会应用,我假设这是因为实际的评价是失败了,但我似乎无法得到正确的

+0

我只是测试其值的计算和它的作品。你的'calc($ {originalHeight} px - ($ {originalHeight} px * $ {decrease}/100)''在变量被处理后的结果是什么? – LGSon

+0

它不会保留表达式,它只是输出'height:calc(326.6px)'@LGSon –

+0

那么,这是行不通的,因为calc需要最小2个值,它应该看起来像'calc(200px - ( 50px * 50/100))' – LGSon

回答

0

也许这只是一个括号问题的单位,请尝试使用此

$element.css('height', `calc((${originalHeight}px - ((${originalHeight}px * ${decrease})/100)))`); 
+0

因此,我试图要聪明,但这个equasion总是会返回相同的结果,所以使用calc方法毫无意义! –