Posted on 2006-11-19 23:09
FlyPig Lin 閱讀(238)
評論(0) 編輯 收藏
今天考完會計,心情狂不好--結轉利潤的昨天才看明白,可是今天考試腦袋里竟然一片空白。加上昨天晚上又熬夜,有點抑郁感。
今年變得有點懶,工作不喜歡寫心得了。以前一些有趣的bug及解決方法我都會按時記下來,今年都沒怎么寫了。忽然又想到這個blog,決定以后一定要隔三差五的上來記點什么。
今天記上周遇到一個的bug,為什么用div+css的兩欄布局中,操作之后的消息提示框控件一直沒有顯現出來.而loading控件在頁面加載的時候或在操作等待的時候卻可以正確的顯示在上面?(消息提示框--基于Window類開發的和loading一樣其實都是一個層而已!),為什么會出現不同的結果?今天找了一下原因,其實很簡單!因為,在消息提示窗口被創建的時候,我是將它插到body的結束標簽之前(這時候已經有布局的兩個div了),因此受到了上面布局的div的影響!而loading因為在<body>標簽之后就被new了(這時候body里其實還沒有東西,所以它其實上是插到了布局的兩個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>