你能用jquery,javascript或css提取背景大小的'auto'值吗?

时间:2010-07-26 21:46:34

标签: jquery css jquery-ui

如果我有

background-size: 50% auto;

如果我想提取自动值,基本上能够获得新的高度或宽度怎么办?

1 个答案:

答案 0 :(得分:0)

在CSS3中,'background-size'是相对于容器元素的。因此,'50%auto'将始终恰好是其容器宽度的一半。

也就是说,你可以用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);

});