2013-05-14 120 views
3

我有一個下拉菜單,在所有現代瀏覽器中都能正常工作,但在IE9中發生了一些奇怪的事情。下拉菜單以某種方式顯示爲透明或不可見,但其框形陰影可見。另外,鼠標離開父列表項時,懸停失敗。IE9下拉菜單 - 過濾器錯誤

我指的是在頂部的主導航欄:

http://gratefulglass.viussandbox.co/

我放置在子菜單的含元件上的紅色邊框,以示出該菜單似乎正確地定位。

任何建議將不勝感激。

+0

我已投票結束此問題,因爲它對您的網站太具體,並且不可能幫助任何未來的訪問者。最好的問題有一個小型自包含的示例,其中包含足夠的代碼來演示問題,沒有任何額外的問題。將此代碼直接發佈到問題中。這樣做可能需要很多工作,但它是解決問題的關鍵部分。 – KatieK 2013-06-12 19:44:42

+0

這個問題和選定的答案今天幫了我。我遇到了同樣的問題。感謝參與。 – Nate 2014-07-19 04:13:20

回答

3

問題在於您在代碼中的<ul><a>標籤上設置的filter CSS屬性。 IE9會爲您渲染漸變背景,但會導致它在內部設置元素上的hasLayout標誌,這會導致渲染器將該元素當作overflow: hidden;,並且您無法僅僅通過設置overflow: visible;來覆蓋該元素,因爲它不是實際上是一個CSS規則,而是內部渲染引擎在處理元素時處理元素的方式。如果您在覆蓋中使用filter: none;刪除篩選器,或者只是不設置它們,那麼您應該會看到所有事情都能正常工作。

+0

太棒了!感謝您指出這一點,我永遠不會發現這一點。我正要跳出一扇窗戶,放棄。 – 2013-05-17 20:36:29

+0

謝謝Brian!我需要那個。 – Nate 2014-07-19 04:14:45

0

檢查此鏈接: 12 很抱歉,但不能把更多的鏈接: HTTP:// & & joseph.randomnetworks.com/2006/08/16/css-opacity-in-internet-explorer - 即/ HTTP:// & & www.webdeveloper.com/forum/showthread.php?163100-Opacity-hover-not-working-in-IE

一些屬性的行爲不同,或者不是持久取決於瀏覽器。 但總有辦法讓它工作。 使其工作的最佳方式,javascript。

+1

感謝您的建議。但是,我並不認爲它是一個不透明的問題,這就是爲什麼我對此感到困惑。出現的菜單通過從左側改變位置來控制:-999em;向左:0; – 2013-05-14 19:31:19

+0

我不能看到錯誤的細節,因爲我沒有代碼,但你可以: 用IE9打開,按F12並轉到腳本,reload de web。 我可以從這裏捕捉到一些錯誤,但由於我沒有腳本我不能看到錯誤發生的代碼。 你可以檢查那裏的錯誤,我只是看到有CSS問題。 希望它有幫助。 – AAlferez 2013-05-14 20:31:38

+1

頁面上的唯一錯誤是字體問題,它無法識別.eot文件。無論如何,字體正在加載,所以這不是問題。沒有任何與我遇到的問題有關的實際「錯誤」。 – 2013-05-15 17:45:46