我需要首先获取每行中每列的左侧位置,然后将其作为负边距应用于列中的div。我使用了一些硬编码的javascript,但我知道有更优雅的解决方案。
HTML:
<div class="row">
<div class="column column_1"><!-- Content --></div>
<div class="column column_2"><!-- Content --></div>
<div class="column column_3"><!-- Content --></div>
<div class="column column_4"><!-- Content --></div>
</div>
我丑陋的JS:
var adjustMargin1 = jQuery(".column_1").position().left;
var adjustMargin2 = jQuery(".column_2").position().left;
ETC...
jQuery(".column_1 .adjusted-div").css("margin-left", -adjustMargin1);
jQuery(".column_2 .adjusted-div").css("margin-left", -adjustMargin2);
答案 0 :(得分:1)
你可以这样做:
$('.column').each(function(s, el) {
$(el).find('.adjusted-div').eq(0).css('margin-left',-($(el).position().left));
});
循环遍历每个.column元素,在其中找到adjust-div元素,然后将父节点左侧的位置作为边距 - 应用于子节点。