啊啊啊!很多地方不明白,救救我
#page:after和#page:before在#page前面和后面插入一個空內容,為什么要把他們設置為display:table;?#page:after{clear:both;overflow: hidden;},這里設置了clear:both,清楚浮動了,為什么#footer還要在設置一次clear:both呢?但如果我把#footer的clear:both去掉,他和#page(margin-bottom: 20px)之間的20px就沒了?這里也不明白?由于#page里面的.main和.sidebar都浮動了,如果#page沒有設置overflow:hidden,他就應該坍塌呀(我給#page加上背景色),但是它并沒有坍塌,是因為#page:after{overflow:hidden}的原因?怎么影響的?不好意思啊,問題有點多,麻煩大家了!
2016-10-28
display:table;和#page:after{clear:both;}是為了清除 #page:after受到浮動的影響,#page:after不上浮,和before之間距離導致page不坍塌。 而如果不設置display:table;或者block ? ??那#page:after是個行內元素就直接就上去了?
footer的清除浮動是讓footer自身不受浮動影響 ?其實這里去掉也沒有影響 因為上面擋了個block上不去
2016-05-22
1,display:block也是可以的,只要是塊級元素都可以,用于清除page的浮動。
2,個人覺得footer的clear:both是沒有必要的。至于你說去掉以后page和footer的margin會消失,我沒有出現這個問題,可能你的是其他地方出錯,在檢查一下。
3,坍塌的問題,因為在page的后面加了一個塊級元素用于清楚浮動就不會有這個問題了。
2016-01-13
太復雜了。