2013-06-24 20 views
0

今天我發現還有另一個溢出:auto; (至少)在標準模式下的IE9問題。
例子:Internet Explorer 9 - 溢出:自動;意外增長

<!DOCTYPE html> 
<html> 
<body> 
    <div id="ovfdiv" style="background-color: #EEEEEE; overflow: auto;"> 
    <ul> 
    <li style="color: black;" onmouseover="javascript:this.style.color='red';" onmouseout="javascript:this.style.color='black';">resize_until_horizontal_scrollbar_appears__then_move_cursor_over_this_text</li> 
    </ul> 
    </div> 
</body> 
</html> 

驗證您的IE 9運行在IE9標準模式的頁面。 您應該注意到每個鼠標事件都會增加overflow-div,這隻會修改li元素的樣式。

我該如何避免這種情況?

+0

一些解決方案點20像素的填充,底部增加了溢出汽車 - 容器,這不適合我。 –

回答

0

我已經解決了這個問題,導致一個樣式更新到與溢出div:自動;太:

onmouseover="javascript:this.style.color='red';document.getElementById('ovfdiv').className='';" 

當然,你也需要將它添加到onmouseout。 你不會有所有的代碼內嵌;)把它變成一個功能,你就可以像做

var ovfdivObj = document.getElementById('ovfdiv'); 
if(ovfdivObj) 
    ovfdivObj.className = ovfdivObj.className;