关于DIV float display 的奇怪问题

czjczj20 2014-12-29 02:03:39

<div style="display:block;">
<div style="float:left"><button style="width:200px;">1</button></div>
<div style="float:left"><button style="width:200px;">2</button></div>
<div style="float:right"><button style="width:200px;">3</button></div>
</div>

<div style="display:block;">123</div>
<div>1234</div>


代码和显示效果请见图片,123那个div回和上面的button所在的div重合,不知道为什呢,button所在的那个DIV我显式的声明了display为block,为什么这一排按钮还不能独占一行呢?我用的是IE8 和IE12,不知道div本身有什么神奇的属性,或者button外围的div的float有什么神奇的效果?

大神们,,求助。。。
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a88532698 2014-12-31
  • 打赏
  • 举报
回复
里边全是float元素的盒子要加上overflow:hidden才会有高度
KK3K2005 2014-12-31
  • 打赏
  • 举报
回复
搜索关键字 清浮动
ht_917163972 2014-12-31
  • 打赏
  • 举报
回复
div本身就是display:block;的,楼主为何多此一举再写内联。。。。
斜杠代码日记 2014-12-29
  • 打赏
  • 举报
回复
楼上正解。 楼主定义的三个包含button的div都设置了float,那浏览器会把这三个div从正常流中拿走。然后浏览器检测到下面的<div>123</div>,于是浏览器把该div添加到上一个div下方。 建议楼主设置一下div的边框和margin来仔细观察。
MnZlZ 2014-12-29
  • 打赏
  • 举报
回复
position:static   默认值。没有定位,元素出现在正常的流中            (不定义时,就是此默认值) 如果父窗口是直接的body,也没有任何相对位置,这样其下的div都是相对屏幕的左上角的位置。 <div style="display:block;"> //省略掉 </div> <div style="display:block;">123</div> <div>1234</div> 因为定义的两个div都是相对于body的默认static定位,第一个div确定位置后并不会影响到第二个div,第二个div任然显示在正常流中,出现重合

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧