为了账号安全,请及时绑定邮箱和手机立即绑定

看了别人的问题,还是不明白加了overflow:hidden的效果

.left dl dd{

display:block;

overflow:hidden;}

不加的话,第二行的dd内容会排列到dt底下

dt | dd dd dd dd

dd  dd dd dd  但是加了hidden就会变成这样

dt | dd dd dd dd

      dd dd dd dd

所谓的清楚浮动就是把父元素的float清除掉,所以第二行的dd才会排列的那里吗?

但是dt也没有固定的高度。。为啥会这样

正在回答

2 回答

来的比较晚。希望对慕友有帮助。

我暂且将你的一群dd放到div里吧。

  1. 其实这里的overflow:hidden作用的确是清除浮动。说的再清楚一点就是:div计算高度时,将计算浮动元素的高——一群dd的高。

  2. 计算完毕后div作为一个块级元素已经有高有宽了,宽是直接等于父元素的内容宽度,高则是内容在里面排列超过宽度换行。

  3. dt是浮动元素,div里的a也是浮动的,div就被传送到了dt身边。最重要的一点,div在构建完毕后宽度是一定的,这导致了它的形状就只能是向下伸展的矩形。这就导致了,你的第二行dd排列到了那里,总不可能块状盒子是多边形吧。

应该就是酱,自己的理解,有误还望指正。http://img1.sycdn.imooc.com//57ea23c800013f6124341698.jpg

1 回复 有任何疑惑可以回复我~
#1

慕用9564390

第一行之所以没与第二行左对齐是因为字围现象,dd宽度与dt本来就有交叉
2017-07-25 回复 有任何疑惑可以回复我~

溢出隐藏,主要就是防止dd里面的内容溢出二造成显示的错乱

0 回复 有任何疑惑可以回复我~
#1

pocketsun 提问者

那为什么会产生上面的这种效果..dd也根本没有溢出啊
2016-04-16 回复 有任何疑惑可以回复我~
#2

帅锅 回复 pocketsun 提问者

这个得看你具体的代码结构了
2016-04-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

看了别人的问题,还是不明白加了overflow:hidden的效果

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信