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

水平定位列表衍生问题


http://img1.sycdn.imooc.com//5764c51a000124ef15650511.jpg

两个div,第一个左浮动,红色背景,第二个不浮动,正常显示,绿色背景,结果是第一个在上面,第二个在下面,看起来好像是第一个在第二个里面,如果两个div里面都有内容,为什么第二个的内容会在第一个div内容的后面,而不是两个div内容部分重叠呢

正在回答

4 回答

对于我来说,我不明白他这里为什么要加clear:left,不是用来清浮的,真宁玛费解

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

周龙帆

想明白了,浮动元素规则里有包裹性,也就是说他会呈现display:inline-block的效果,如果第一个浮动元素后面有足够的空间(这里指dd这标签的内容不多)来容纳第二个浮动元素,第二个浮动元素会与第一个浮动元素排在一起,造成布局影响
2016-06-25 回复 有任何疑惑可以回复我~

浮动元素脱离普通流,其有3个特点,1、浮动元素高度会塌陷。也就说高度为0. 2、浮动元素内容还会占领他大小, 也就是行框(line box)的宽高。3、会覆盖同级的内容 (不是BFC的元素就会被浮动元素覆盖,这个看你兴趣,想了解,可以搜搜可视化格式模型)

再解释你的问题:因为他高度为0,所以他不会占空间,绿色DIV就占了他位子,由特点3知道红色是覆盖在绿色上面,但浮动元素内容要占领他该有的位子,所以就造成上面那鸟样。


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

浮动元素脱离普通流,其有3个特点,1、浮动元素高度会塌陷。也就说高度为0. 2、浮动元素内容还会占领他大小, 也就是行框(line box)的宽高。3、会覆盖同级的内容 (不是BFC的元素,这个看你兴趣,想了解,可以搜搜可视化格式模型)

再解释上面内容:因为他高度为0,所以他不会占一行,其内容是由行框撑起,所以他要有自己的位子,并由特点3覆盖了绿色背景的内容。

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

因为DIV默认的是块级元素

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

六liu六 提问者

首先谢谢你回答我的问题,但好像你的回答解释不了我的问题。是块级元素,我是想知道既然第一个元素好像是在第二个里面,但是没有在第二个里面,为什么第二个里面的内容不是从头开始的,而是在第一个内容后面开始,就是说为什么文字部分没有重叠的
2016-06-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

水平定位列表衍生问题

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