1

私はWebアプリを開発しています.jsfiddle.netとまったく同じようにctrl-と+でズームインまたはズームアウトするたびにページ全体を埋めるために、背景画像で満たされた3つの列のdivのサイズを自動変更したいと考えています私はこの効果を作るために書いたが、失敗した:

HTML:

<div id="three_columns_container">
     <div id="first-column">...</div>
     <div id="second-column">...</div>
     <div id="third-column">...</div>
</div>

CSS:

#first-column{
    background:('slice.png');
    width: 15%;
    height: 97%;
}
#second-column{
    background:('slice.png');
    width: 15%;
    height: 97%;
}
#third-column{
    background:('slice.png');
    width: 70%;
    height: 97%;
}

JS:

 $(window).resize(function(){
      $("#three_columns_container").height() = $(window).height * 0.97;
      $("#three_columns_container").width() = $(window).width* 0.97;
    });

このリンクは問題の解決に役立つかもしれませんが、正確な効果 リンクにはなりません

誰かがこれで私を助けることができるかどうか疑問に思っていました

4

2 に答える 2

0

可変幅の場合、%age を使用します。および固定使用ピクセルの場合。他に何がわかりませんか。背景画像のサイズも変更する必要がある場合は、そのための js を作成する必要があります。

于 2011-12-25T19:38:47.510 に答える
0

これがあなたの問題の解決策だと思います:

CSS

#firstColumn {
    width: 15%;
    height: 150px;
    background: #1e3340;
    float: left;
}
#secondColumn {
    width: 70%;
    height: 150px;
    background: #305a5e;
    float: left;    
}
#thirdColumn {
    width: 15%;
    height: 150px;
    background: #323e45;
    float: left;    
}

HTML

<div id="three_columns_container">
     <div id="firstColumn">...</div>
     <div id="secondColumn">...</div>
     <div id="thirdColumn">...</div>
</div>

JS

$(document).ready(function () {
    var divRatio = {};
    setRatio('firstColumn');
    setRatio('secondColumn');
    setRatio('thirdColumn');
    $(window).resize(function () {
        fixHeight('firstColumn');
        fixHeight('secondColumn');
        fixHeight('thirdColumn');
    });
    function setRatio(container) {
        var selector = '#' + container;
        divRatio[container] = $(selector).height() / $(selector).width();
    }
    function fixHeight(container) {
        var selector = '#' + container,
            ratio = divRatio[container],
            height = ratio * $(selector).width();
        $(selector).height(height);     
    }
});
于 2011-12-25T19:43:39.977 に答える