[問題] 關於float

作者: imasaka1117 (Teddy)   2016-03-24 15:12:01
大家好
小弟目前在學習float
先看問題點QQ
http://imgur.com/LygkXZq
若是在容器裡面使用float
則容器就不會吃到使用float元素的高度
所以page_foot會往上跑
只是為什麼page_foot裡面的內容沒有往上跑呢?
如果說float不會影響在float之後的元素
那照理說page_foot應該不會往上跑才對(背景設為紅色)
以下為css和html的原始碼QQ
css
#main_background {
width:720px;
padding:10px;
border:5px solid black;
background-color:#FFFFCC; /* H */
margin:0 auto; /* WZ0AkZ
}
#page_title {
width:720px;
height:30px;
background-color:#993333; /* ` */
}
#main_menu {
float:left;
width:150px;
height:110px; /* 540-30=510 */
background-color:#663399; /* */
opacity: 0.5
}
#page_content {
float:right;
width:570px; /* 720-150=570 */
height:110px; /* 540-30=510 */
background-color:#66FF99; /* */
opacity: 0.5
}
#page_foot {
width:720px;
height:30px;
background-color:#FF0000;
}
html
<body>
<div id="main_background">
<div id="page_title"></div>
<div id="main_menu"></div>
<div id="page_content"></div>
<div id="page_foot">測試</div>
</div>
</body>
感謝各位看完><"
作者: imbahunter (レオ)   2016-03-24 15:14:00
應該要用clear:left?
作者: NYSM (山米爾)   2016-03-24 16:58:00
浮起來了後面就往前跑了 用clear:both
作者: imasaka1117 (Teddy)   2016-03-24 17:16:00
可是照理說測試應該也會往上跑才對
作者: heavenbetula (綠草)   2016-03-24 21:51:00
我也好好奇是什麼原因
作者: No (you stay there)   2016-03-24 23:17:00
非 float 的文字或 inline element 會「圍繞」float element把 footer 的 height 拿掉,接著逐步調小 content 的 width就會呈現出它的規則了接著可以再把 footer 的 width 也拿掉,加上 overflow: hidden將 footer 轉為 block formatting context,會有更多東西可玩
作者: akccakcctw (947)   2016-03-24 23:29:00
http://imgur.com/kucEiNQ是因為被menu推出來 改一下position就可以了樓上講得滿清楚的

Links booklink

Contact Us: admin [ a t ] ucptt.com