float和inline-block的使用 使用float会出现排版问题

各位大虾帮忙!<footer><div>每页显示<selectname=""id=""><optionvalue="">20</option><optionvalue="... 各位大虾帮忙!

<footer>
<div>
每页显示 <select name="" id=""><option value="">20</option><option value="">40</option></select>行
</div>
<div>
<dl>
<dt><</dt>
<dt>1</dt>
<dt>2</dt>
<dt class="currentPage">3</dt>
<dt>4</dt>
<dt class="noborder">……</dt>
<dt>86</dt>
<dt>></dt>
</dl>
</div>
<div>
共<span >100</span>页,到第 <input type="text" />页 <input type="button" value="确定" class="okBtn"/>
</div>
</footer>

相关的一些css:
footer{
height: 45px;
}
footer div{
display: inline-block;
height: 45px;
line-height: 45px;
}
footer dl{
margin: 0px 0px 0px 223px ;
}
footer dl dt{
float:left;
width:20px;
height:20px;
border:1px solid #D6D6D6;
text-align: center;
padding-right:5px;
line-height: 20px;
margin-right:5px;
}
运行结果:

会发现dl比其他两个div要高出一块

如果改成
footer dl{
margin: 0px 0px 0px 223px ;
display: inline-block;
}
footer dt{
float:left;
width:20px;
height:20px;
border:1px solid #D6D6D6;
text-align: center;
padding-right:5px;
line-height: 20px;
margin-right:5px;
}
运行结果:

只要把dl改成inline-block,三个div就水平对齐了

这是为什么??是不是float的问题??
展开
 我来答
匿名用户
2015-02-28
展开全部
是因为dl里面的dt全部浮动。导致dl高度塌陷。。
给dl加overflow:hidden;也行。
追问
亲证可行,非常感谢!!
这里dl加overflow:hidden为什么可以呢??
追答

可以参考一下这篇文章,我说的可能更不清楚。。

http://www.chinaz.com/design/2008/0818/35473.shtml
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式