jquery - Resizing element dynamically, but maintaining proportion of its background -
i have container houses 4 elements on each line. proportionally change size dynamically, have multi-sprite background image (which not rotate in demonstration).
i set width of container 23.75%, set height (small portion) of background image proportional?
.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%; }
here's solution came 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); }
Comments
Post a Comment