使用javascript的基线网格

时间:2015-01-22 22:40:15

标签: javascript

我尝试编写一个简单的脚本,将图像容器对齐到css baselinegrid。 这是一个近乎有效的例子:jsfiddle

var lineHeight = 24;

$('.grid').height(function(i, h) { return Math.ceil(h / lineHeight) * lineHeight; });

$(window).resize(function() {
    $('img').each(function() {
        var heightDiv = $(this).outerHeight();
        $('.grid').css('height', Math.ceil(heightDiv / lineHeight) * lineHeight);
    });
});
$('img').load(function() { $(window).resize(); });

唯一的问题是,在调整大小时,所有图像容器都会占用最后一个图像的高度而不是它自己的高度。任何人都可以帮助我,我是非常非常新的javascript

1 个答案:

答案 0 :(得分:1)

你可能想要更接近这个:

$('img').each(function() {
    var heightDiv = $(this).outerHeight(),
        $parent = $(this).parent();
    $parent.css('height', Math.ceil(heightDiv / lineHeight) * lineHeight);
});

通过引用$(' .grid'),您调用的所有元素都包含'网格'类。你真正想要的是直接的父母。

以下是我所谈论的一个有效例子: http://jsfiddle.net/jxrfqkxu/7/