0

我想知道这是否可能。我已经设置了几行 jQuery 来获取页面上每个特定 div 的高度和负上边距,这样我就可以在屏幕上居中我的 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 的高度并将其应用于 margin-top 作为调整大小的负数。

任何帮助将不胜感激,-R

4

1 回答 1

3

您只需要将 div 边距更新绑定到窗口大小调整事件。像这样的东西:

$(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 回答