0

これが可能かどうか疑問に思っています。ページ上の特定の各 div の高さを取得するために数行の jQuery を設定し、これをマイナスの上マージンに設定して、div を画面の中央に配置できるようにしました (標準的な方法 ( http://goo.gl/R6HfF )) 。

$(window).load(function() {
    $('.each-web-project-info > div').each(function() {
        eachWebProjectInfoHeight = $(this).height();
        $(this).css('height',eachWebProjectInfoHeight+'px');
        $(this).parent().css('margin-top',-eachWebProjectInfoHeight -35+'px');
    });
});

私が構築しているフレームワークはレスポンシブなので、div の幅はパーセンテージ (50%) で設定され、左マージンは -25% です。そのため、画面がスケーリングされると、div の位置は垂直方向と水平方向の両方で中央に配置されません。

そのため、その背景を踏まえて、コードを変更して、各 div の高さをフェッチし、サイズ変更時にマイナスとしてマージントップに適用するようにします。

任意の助けをいただければ幸いです、-R

4

1 に答える 1

3

divs margins の更新をウィンドウのサイズ変更イベントにバインドするだけです。このようなもの:

$(function () {

    updateDivsMargins();
    $(window).resize(updateDivsMargins);

    function updateDivsMargins() {
        $('div.centered').each(function () {
            $(this).css({
                'margin-top': (-$(this).height() / 2),
                'margin-left': (-$(this).width() / 2)
            });
        });
    }

});

作業フィドル: http://jsfiddle.net/DpBky/5/

于 2013-07-02T17:29:02.097 に答える