Posted on 2006-11-19 23:09
FlyPig Lin 閱讀(238)
評(píng)論(0) 編輯 收藏
今天考完會(huì)計(jì),心情狂不好--結(jié)轉(zhuǎn)利潤(rùn)的昨天才看明白,可是今天考試腦袋里竟然一片空白。加上昨天晚上又熬夜,有點(diǎn)抑郁感。
今年變得有點(diǎn)懶,工作不喜歡寫心得了。以前一些有趣的bug及解決方法我都會(huì)按時(shí)記下來(lái),今年都沒怎么寫了。忽然又想到這個(gè)blog,決定以后一定要隔三差五的上來(lái)記點(diǎn)什么。
今天記上周遇到一個(gè)的bug,為什么用div+css的兩欄布局中,操作之后的消息提示框控件一直沒有顯現(xiàn)出來(lái).而loading控件在頁(yè)面加載的時(shí)候或在操作等待的時(shí)候卻可以正確的顯示在上面?(消息提示框--基于Window類開發(fā)的和loading一樣其實(shí)都是一個(gè)層而已!),為什么會(huì)出現(xiàn)不同的結(jié)果?今天找了一下原因,其實(shí)很簡(jiǎn)單!因?yàn)?在消息提示窗口被創(chuàng)建的時(shí)候,我是將它插到body的結(jié)束標(biāo)簽之前(這時(shí)候已經(jīng)有布局的兩個(gè)div了),因此受到了上面布局的div的影響!而loading因?yàn)樵?lt;body>標(biāo)簽之后就被new了(這時(shí)候body里其實(shí)還沒有東西,所以它其實(shí)上是插到了布局的兩個(gè)div之前!),所以不受影響!
所以解決方法就是在消息提示的層加clear:both!
試一下以下的兩段html代碼就很清楚了:
<div style="float:left;width:50%;height:80%;background-color:red;" id="left">
</div>
<div style="float:right;width:50%;height:80%;background-color:blue;" id="right">
</div>
<div id="message_window" style="z-index: 65535; left: 525px; width: 220px; position: absolute; top: 339px; height: 100px;background-color:green">
?消息(沒有clear:both;)
</div>
改后:
<div style="float:left;width:50%;height:80%;background-color:red;" id="left">
</div>
<div style="float:right;width:50%;height:80%;background-color:blue;" id="right">
</div>
<div id="message_window" style="clear:both;z-index: 65535; left: 525px; width: 220px; position: absolute; top: 339px; height: 100px;background-color:green">
?消息(加了clear:both;)
</div>