2015-06-14 55 views
0

我有一个容器,每行容纳4个元素。它们动态地按比例改变大小,但它们有一个多精灵背景图像(在此演示中不旋转)。动态调整元素的大小,但保持其背景的比例

enter image description here

设置我的容器的宽度23.75%,我该怎么设置为我的身高让我的背景图像的(小部分)是永远成正比?

.body { 
    margin: 15px; 
    background: grey; 
} 
.container { 
    background-image: url("http://i.imgur.com/MUQ1HxQ.jpg"); 
    background-size: 600% 100%; 
    background-position: 0px 0px; 
    margin-right: 1%; 
    width: 23.75%; 
    height: 15vw; 
    display: inline-block; 
} 
.body .container:nth-child(4n+1) { 
    margin-left: 1%; 
} 

JsFiddle

回答

0

Here's the solution I came up with(CSS + Jquery的)

.body { 
    margin: 15px; 
    background: grey; 
} 
.container { 
    background-image: url("http://i.imgur.com/MUQ1HxQ.jpg"); 
    background-size: 600% 100%; 
    background-position: 0px 0px; 
    margin-right: 1%; 
    width: 23.75%; 
    height: 15vw; 
    display: inline-block; 
} 
.body .container:nth-child(4n+1) { 
    margin-left: 1%; 
} 

<div class="body"> 

<div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div><div class="container"></div> 

</div> 

$(window).ready(updateHeight); 
$(window).resize(updateHeight); 

function updateHeight() 
{ 
    var div = $('.container'); 
    var width = div.width() * 0.56; 

    div.css('height', width); 
} 
相关问题