如果我有
background-size: 50% auto;
如果我想提取自动值(基本上可以获取新的高度或宽度)怎么办?
最佳答案
在CSS3中,“ background-size”相对于容器元素。因此,“ 50%自动”将始终恰好是其容器宽度的一半。
也就是说,您可以使用jquery获得一半的宽度,如下所示:
$(function() {
var w = $('.yourcontainer').width() / 2;
alert(w);
});
通过指定两个值,您可以定义宽度和高度...您将高度设置为“自动”,因此图像将保持其原始比例,而不是缩放到50%的高度。这使得在不知道图像原始比例的情况下很难获得“高度”值。幸运的是,您可以通过创建一个新的DOM元素并测试其尺寸来将这些值轻松地添加到javascript中:
$(function() {
var img = new Image();
img.src = 'images/yourimage.jpg';
var w = $('.yourcontainer').width() / 2;
var h = (w / img.width) * img.height;
alert(h);
});