У меня проблема в IE 6 и 7 при использовании jqGrid (v3.6.4) и ASP.Net CSS Friendly Adapters для элемента управления меню ASP.Net. Проблема, с которой я сталкиваюсь, состоит в том, что мои уровни меню отображаются под моей сеткой независимо от того, насколько высоко я поднимаюсь с z-индексом, а только с моим вертикальным меню (используя .AspNet-Menu-Vertical). При использовании горизонтальной сетки подуровни отображаются поверх сетки. Все работает как рекламируется в моей голове, используя Firefox или IE8.
альтернативный текст http://www.holenet.com/jqGridMenuIssue.jpg
Мое объяснение этого, вероятно, в конечном итоге будет содержать некоторые недостающие детали (недостающие кусочки головоломки CSS), которые были опущены, поэтому, пожалуйста, просто попросите что-нибудь, что нужно уточнить. Я не уверен, что, возможно, проблема вызвана смешением абсолютных и относительных положений или чем-то еще полностью. Может быть, кто-то еще сразу увидит, это уклоняется от меня. И заранее благодарю за любую помощь или руководство, которое вы можете дать.
Хорошо, позвольте мне выложить детали. Я использую jqGrid версии 3.6.4 с поддержкой фреймворка jQuery UI. Я также использую собственную тему пользовательского интерфейса jQuery, но не было добавлено или изменено никакого специального стиля, кроме изменения цвета и т. П.
Код компоновки
<div id="ContentAreaBlock">
<asp:Panel ID="PanMainVerticalMenu" runat="server"
CssClass="mainVerticalMenuContainer">
<div class="mainVerticalMenuBlock">
<asp:menu id="MenuMainVerticalNavigation" runat="server"
cssselectorclass="MenuMainNavigation" Orientation="Vertical"/>
</div>
</asp:Panel>
<asp:Panel ID="PanContentContainer" runat="server" CssClass="contentContainer
ContentLeftMargin Contentfont">
<div style='width: 100%'>
<div id="gridWrapperAssets">
<table id="gridTableAssets"></table>
<div id="pagerAssets" style="text-align:center;"></div>
</div>
</div>
</asp:Panel>
</div>
Я ненавижу не иметь FireBug в IE! Я использую панель инструментов разработчика IE, не очень хорошо, но я перечислю текущий стиль для соответствующих блоков и последую за ним с кодом CSS для блоков.
Текущий стиль для Div "ContentAreaBlock"
border: solid 1px #1b1b1b;
display: block;
Текущий стиль для панели "PanMainVerticalMenu"
position: absolute;
left: 0;
top: 0;
display: block;
Текущий стиль для Div с классом "mainVerticalMenuBlock"
display: block;
hasLayout: -1;
position: relative;
width: 107px;
zoom: 100%;
Текущий стиль для вертикального меню уровня 1
display: block;
line-height: 1;
margin: 0px;
position: relative;
z-index: 1300;
Текущий стиль для панели с классами CSS
"contentContainer ContentLeftMargin Contentfont"
display: block;
font-size: 1.1em;
margin: auto 10px auto 75px;
padding: 8px 0px 8px 0px;
Текущий стиль для таблицы "gridTableAssets"
background: #f0eee5 url('some image') 50% 50%;
border: solid 1px #d9d6c4;
display: block;
hasLayout: -1;
line-height: 1;
margin: 0px;
position: relative;
unicode-bidi: embed;
width: 870px;
z-index: 0;
CSS-код для меню
.mainVerticalMenuContainer
{
position: absolute;
left: 0;
top: 0;
margin: 14.5em 0 0 0.5em;
}
.mainVerticalMenuBlock
{
width: 107px;
background-color: #e5ebdf;
border: solid 1px #475460;
padding: 0.3em 0 0.3em 0;
}
ul.AspNet-Menu
{
position: relative;
}
ul.AspNet-Menu, ul.AspNet-Menu ul
{
margin: 0;
padding: 0;
display: block;
}
ul.AspNet-Menu li
{
position: relative;
list-style: none;
float: left;
}
ul.AspNet-Menu li a, ul.AspNet-Menu li span
{
display: block;
text-decoration: none;
}
ul.AspNet-Menu ul
{
position: absolute;
visibility: hidden;
}
.MenuMainNavigation .AspNet-Menu-Vertical
{
position:relative;
z-index: 1300;
}
.MenuMainNavigation .AspNet-Menu-Vertical ul.AspNet-Menu
{
width: 107px;
}
.MenuMainNavigation .AspNet-Menu-Vertical ul.AspNet-Menu ul
{
background: #d2e2ca;
width: 19em;
top: 0px;
left: 105px;
border: solid 2px #253d56;
z-index: 1400; /*TESTING Made it 1400 from 400 */
}
.MenuMainNavigation .AspNet-Menu-Vertical ul.AspNet-Menu ul ul
{
width: 19em;
z-index: 1500;
}
.MenuMainNavigation ul.AspNet-Menu ul li a, .MenuMainNavigation ul.AspNet-Menu ul li span
{
display: block;
margin: 0;
padding: 0;
text-align: left;
border: none;
}