2013-05-16 78 views
1

在鼠標懸停時,菜單大小增加Internet Explorer 9.0.8。 我發現原因是元素divider正在使用屬性overflow:hidden溢出:隱藏; IE瀏覽器在鼠標上的奇怪行爲

爲什麼鼠標結束時會影響元素?

這裏是代碼的小提琴。我指出了第一個CSS風格,問題在哪裏。 http://jsfiddle.net/EF9Eg/4/

這是有問題的風格:

.floatingMenu li.divider{ 
    height: 1px; 
    margin: 9px 1px; 
    overflow:hidden; /*PROBLEM INTERNET EXPLORER*/ 
    background-color: #E5E5E5; 
    border-bottom: 1px solid #FFF; 
} 

如果我們擺脫overflow:hidden;一切運作良好。

+0

你的小提琴在ie9中似乎對我很好,但一個想法是在你的非分隔板上放一個不同的類,只是爲這些lis而不是所有的懸停事件 – Pete

+0

@Pete它不能很好地工作當你將鼠標移動到菜單上時。它變得更大。 – Alvaro

+0

你有沒有試過把'zoom:1'給李氏? – mario595

回答

1

它的發生,將根據關閉的100%寬度的IE瀏覽器的一部分,什麼是DIV界定大小的另一種解釋似乎從.floatingMenu裏100%:當您刪除寬度

0

問題就消失了。

沒有設置或最大寬度的div或ul中的100%寬度可以被解釋爲它所嵌套的最大div的寬度,這似乎是正在發生的事情。如果你刪除了100%的寬度,或者將一組或最大寬度應用於ul,它會將其限制爲該分層寬度。

這可能部分地也是應用於ul的絕對定位的一個因素,因爲它可能會忽略相對定位的div高於其自身的寬度。

我相信this解釋了進一步發生的事情。

+0

我知道,但是...爲什麼它會讓鼠標在父母身上變得更大?有人看到它下面的邏輯嗎? – Alvaro

相關問題