当多次使用 css 类时,Javascript 无法正常工作?

标签 javascript css vertical-alignment

之前,我问过如何在 div 中居中对齐图像(带动态宽度),有人用以下代码回答:

http://jsfiddle.net/WDzx4/6/

它工作正常。但是,当我尝试对另一幅图像使用相同的类时,另一幅图像不再垂直居中:

http://jsfiddle.net/b4Bbd/

你看,现在 50x50 的黑色图像比它应该的略高。我注意到只有第一张图片正确对齐。如果我之后添加具有不同宽度和高度的其他图像(使用相同的类),它们将错位。

有人可以帮我找出问题所在,因为我对 javascript 不是很熟悉。

最佳答案

您需要包装 JavaScript 来为所有匹配的元素做所有事情,而不是为一个元素计算高度然后应用到所有元素:

$('div.container_img img').each(function() {
    var $img = $(this);
    var h = $img.height();
    $img.css('margin-top', +h / -2 + "px");
});

关于当多次使用 css 类时,Javascript 无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5630037/

相关文章:

javascript - 淡入后滚动的问题

html - CSS 背景图像回退

css - flexbox布局中的垂直文本

javascript - 将鼠标悬停在上面时闪烁的工具提示

javascript - 在 Javascript 中激活链接

html - 如何固定底部的水平线和 <TD> 标签顶部的文本

html - CSS - 行高属性,它是如何工作的(简单)

css - 使用 CSS 对齐图像列表

javascript - 如何将毫秒转换为可读的日期分钟 :Seconds Format?

javascript - 原型(prototype)和构造函数对象属性