Html 仅使用CSS就等于所有div的高度
我使用了display:table属性,但表单元格的高度仍然不相等。有没有一种不使用JavaScript或jQuery就能使它们相等的方法?必须记住Internet Explorer的兼容性Html 仅使用CSS就等于所有div的高度,html,css,Html,Css,我使用了display:table属性,但表单元格的高度仍然不相等。有没有一种不使用JavaScript或jQuery就能使它们相等的方法?必须记住Internet Explorer的兼容性 <div class="envelope"> <div class="fill col"> ABC <br><br><br> </div> <div class="fill
<div class="envelope">
<div class="fill col">
ABC
<br><br><br>
</div>
<div class="fill ">DEF</div>
<div class="fill col">
XYZ
<br><br><br>
<br><br><br>
</div>
</div>
像这样更新css
.fill{
background:#dddddd;
border-right:1px solid #000;
width:30%;
padding:1%;
display:table-cell;
}
我已删除了浮动:left删除浮动:left将解决您的问题:
移除<代码>浮动:左代码>将解决您的问题 CSS
.fill{
background:#dddddd;
border-right:1px solid #000;
width:30%;
padding:1%;
display:table-cell;
}
每个人都回答了,但没有人说为什么会这样:
- 使用
属性时,浮动元素取自正常流,并沿其容器的左侧或右侧放置float
float
可以修改显示值的计算值:
- 在您的情况下,
将成为display:table单元格
display:block
- 因此,如果您不想设置
值(可能是因为它被计算为高度
),那么可以使用相同高度的解决方案删除display:block
float:left
.envelope{
border:1px solid #000;
border-radius:5px;
display:table;
width:300px;
}
.fill{
background:#dddddd;
border-right:1px solid #000;
/*float:left;*/
width:30%;
padding:1%;
display:table-cell;
}
.col{
background:#ff44ff;
}
.fill{
background:#dddddd;
border-right:1px solid #000;
width:30%;
padding:1%;
display:table-cell;
}