如果我有

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);

});

10-05 21:00
查看更多