2013-05-06 2 views
0

У меня есть этот сайт в разработке, http://melanie.3drexstaging.com/ Клиент хочет, чтобы фон масштабировался вверх или вниз (до точки) в зависимости от размера браузера. Я получил его, чтобы работать на полпути с некоторыми хакерами jquery, чтобы настроить размер элементов при изменении размера браузера, но я бы предпочел только вариант css. У нас есть 3 изображения, одно из которых - это изображение с фиксированным соотношением сторон, которое должно всегда отображаться целиком, а слева и справа у нас есть изображения, которые продолжают шаблон.Фоновое изображение - как правильно масштабировать только css

Заранее благодарим за любые советы!

Мои SAD JavaScript писаки:

<script type="text/javascript"> 
    $(document).ready(function() { 
     fixBg(); 
    }); 
    $(window).load(function() { 
     fixBg(); 
    }); 
    $(window).resize(function() { 
     fixBg(); 
    }); 
    function fixBg() 
    { 
     var mh = Math.max($(window).height(), 768); 
     if ($("#ControlBar").length > 0) { 
      mh -= 54; 
     } 
     var mw = Math.round((mh/768) * 1264); 
     var winW = Math.max(1264, $(window).width()); 
     $("#bgCenter").height(mh).width(mw); 
     $("#shade").height(mh).width(mw).css("left", ((winW - mw)/2) + 10); 
     var extra = ((winW - mw)/2) + 10; 
     $(".bgFillers").width(extra).height(mh); 
     var bgw = (mh/768) * 360; 
     $(".bgFillers").css("background-size", bgw + "px " + mh + "px"); 
     //$("#siteContent").css("min-height", mh - $("#header").height() - $("#footer").height() - 20); 
    } 
</script> 

И основная разметка:

<div id="master"> 
    <div id="bg"> 
     <div id="bgLeft" class="bgs bgFillers"></div> 
     <div id="bgCenter" class="bgs"> 
     </div> 
     <div id="bgRight" class="bgs bgFillers"></div> 
    </div> 
    <div id="shade"></div> 
    <div id="centeredSite"> 
    </div> 
</div> 
+1

вы попробовать покрыть? http://css-tricks.com/perfect-full-page-background-image/ – btevfik

+0

было бы здорово, если бы это было 1 изображение, но у меня 3 изображения, центр один не повторяется, а влево и вправо являются повторяющимися изображениями. – box86rowh

+0

Вы не можете просто сделать одно изображение из всех трех и использовать его. я не понимаю, почему вам нужно три изображения – btevfik

ответ

0

вы пытались сделать размер относительно?

вы просто используете% вместо пикселей (или любого другого варианта)

100% заполнен элемент, 50% составляют половину вашего элемента (если вы поместите его в DIV вы установите на 50% он будет принимать половина DIV, который принимает половину вашей страницы, так что 1/четвёртую вашей страницы)

в противном случае я буду нуждаться больше информации

+0

это нормально работает, но в моем случае, например, весь браузер имеет ширину 1500 пикселей на 900, а среднее изображение имеет соотношение сторон 4: 3, среднее изображение будет центрировано и будет 1200x900, чтобы соответствовать высоте, оставив 150 пикселей пространства слева и справа, левая сторона должна быть заполнена моим левым повторяющимся изображением и правая сторона по правильному повторному изображению. Если вы изучите мою ссылку, вы увидите, что это 3 разных изображения. – box86rowh

Смежные вопросы