Internet Explorer 9中存在一個奇怪的問題。使用的CSS過濾器漸變切斷了我的子菜單。例如,這是一個JSFiddle。下面是一個簡單的代碼:Internet Explorer 9漸變過濾器關閉子菜單
HTML
<div id="headWrapper">
<header>
<nav id="main">
<ul>
<li>
<a href="javascript:void(0);">Parent Navigation Item</a>
<ul class="submenu">
<li><a href="javascript:void(0);">Child Nav Item 1</a></li>
<li><a href="javascript:void(0);">Child Nav Item 2</a></li>
<li><a href="javascript:void(0);">Child Nav Item 3</a></li>
<li><a href="javascript:void(0);">Child Nav Item 4</a></li>
<li><a href="javascript:void(0);">Child Nav Item 5</a></li>
<li><a href="javascript:void(0);">Child Nav Item 6</a></li>
</ul>
</li>
</ul>
</nav><!-- main -->
</header>
</div><!-- headWrapper -->
CSS
*{margin: 0; padding: 0;}
header, nav {display: block;}
#headWrapper {border-bottom: 1px solid #eee; position: relative; z-index: 5; -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e1eaf0',GradientType=0);}
header {width: 1000px; height: 75px; margin: 0 auto; clear: both;}
#main {float: left;}
#main ul {list-style: none;}
#main li {float: left;}
#main a {display: block;}
#main li ul.submenu {display: block; padding: 4px; border: 1px solid #000; position: absolute; z-index: 999; border: 1px solid #ddd; margin-left: 12px; border-top: 0; background-color: beige; -webkit-border-radius: 0 0 8px 8px; -moz-border-radius: 0 0 8px 8px; border-radius: 0 0 8px 8px;}
#main li ul.submenu li {float: none; display: block;}
如果我從我的#headWrapper
菜單中刪除過濾梯度預期工作。隨着漸變在那裏,我只能看到邊框,它切斷了標題實際高度以外的任何東西。
- 這是怎麼發生的?
- 我該如何解決它?
我通過IE仿真和Browser Shots測試,它顯示了破兩所以看起來它不僅僅是一個模擬器的問題(或瀏覽器射擊時使用模擬器,只是給我看什麼,我已經知道了) 。我一直在玩它一個小時,並沒有運氣修復它,除非我完全刪除梯度或刪除固定/ z-索引,我也不想這樣做。
是的,但刪除Z-Index可能會允許將東西放在標題上,因爲標題是固定的。 – 2014-09-16 13:48:05
或者您可以使用漸變背景圖像#headWrapper將在所有瀏覽器 – 2014-09-16 17:43:25