【发布时间】:2013-07-01 14:28:36
【问题描述】:
我有这个 html 代码和样式“这只是一个例子”:
<div id="mn" style="margin-top:200px;">
<div class="first">1</div>
<div class="second">2</div>
<div class="third">3</div>
<div class="fourth">4</div>
</div>
<style type="text/css">
#mn, #mn div { display:inline-block; vertical-align:middle; }
#mn div { width:350px; margin:5px; /* float:left Comment */ }
div.first { height:5px; background-color:Red; }
div.second { height:120px; background-color:#999 }
div.third { height:50px; background-color:Yellow }
div.fourth { height:180px; background-color:#ccc }
</style>
问题是,左边的元素“黄色和红色”之间有很大的空间或底部边距。 我需要删除这个大的边距或间距,并在所有元素中只使用 5px。
我用 jquery 创建了一个脚本,它获取列表并将它们移动到一个 div,类似这样:
<div id="mn_left"></div>
<div id="mn_right"></div>
<div id="mn" style="margin-top:200px;">
<div class="first">1</div>
<div class="second">2</div>
<div class="third">3</div>
<div class="fourth">4</div>
</div>
$(document).ready(function () {
$("div", "#mn").each(function (e, value) {
if ($("#mn_left").height() <= $("#mn_right").height()) {
$("#mn_left").append(value.outerHTML);
}
else {
$("#mn_right").append(value.outerHTML);
}
});
});
脚本运行良好,但我想不使用脚本。
编辑... 我弄错了,我把 li 改成了 div ……但它完全一样。 Html 看起来像这样:
http://postimg.org/image/dh6dwdjc1/
我真正想要的是这个
【问题讨论】:
-
在您的示例中,我没有看到列表,只有
divs。您是否打算使用ul和li进行编码(如果是列表,那么您应该这样做)。 -
这个margin的原因是黄色和红色的div和右边的div高度不一样。你到底想达到什么目的?
-
从您的编辑中,我不得不问为什么不只是重组您的标记?你有什么不能重组的原因吗?创建 2 个 DIV,左侧包含项目 1、3、4,右侧包含项目 2。