我有这段代码:
<div id="container">
<fieldset class="box">
<legend>Title</legend>
CONTENT
</fieldset>
<fieldset class="box">
[etc...]
</fieldset>
</div>
我希望这些字段集具有相同的高度并浮动。
因此,我已使用display:table
设置容器,并使用display:table-cell
设置每个字段集,但是,如果我使用float:left
浮动每个框(字段集),display:table-cell
不再工作了。
这应该是结果:
有什么建议吗?
答案 0 :(得分:2)
使用简单的jQuery代码,您可以实现相等的列高
<强> HTML 强>
<div id="container">
<fieldset class="box">
<legend>Title</legend>CONTENT
<br/>test</fieldset>
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
</div>
<强> CSS 强>
.box {
float:left;
width:25%;
}
<强>的jQuery 强>
$(function () {
var H = 0;
$("div").each(function (i) {
var h = $(".box").eq(i).height();
if (h > H) H = h;
});
$(".box").height(H);
});
答案 1 :(得分:0)
好的我会创建一个答案。简而言之,display: table-cell
不能与fieldset
一起使用。了解更多in this question
你可以使用div
并稍微改变一下。或者只是将它们用作每个容器。
但我建议您使用display: inline-block
。
<div id="container">
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
</div>
.box {
width: 200px;
height: 200px;
display: inline-block;
}
这就是为什么你可以在它们周围创建容器以便能够使用display: table;
等。
<div id="container">
<div class="innercon">
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
</div>
<div class="innercon">
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
</div>
<div class="innercon">
<fieldset class="box">
<legend>Title</legend>CONTENT</fieldset>
</div>
</div>
#container {
display: table;
}
.innercon {
display: table-cell;
}
.box {
width: 200px;
height: 200px;
}