Выпадающее меню не отображается в IE7 - PullRequest
0 голосов
/ 28 мая 2011

В настоящее время я создаю веб-сайт, который использует Projekktor для воспроизведения фильмов и JQuery практически для всего остального, например, для навигации, отображения панелей и т. Д. Ссылка для разработки - http://www.hundredframes.com/dev/home/

У меня естьсайт для запуска на Firefox, Chrome, Safari и Opera.Но, как всегда, IE застрял.Я использую матричный фильтр IE для перекоса текста и Cufon для рендеринга шрифтов.Рабочий процесс - пользователь нажимает на ссылку.Если оно имеет подменю, первый элемент подменю подсвечивается и отображается содержимое этой ссылки.

В настоящий момент в IE7 отображается содержимое для первой ссылки подменю, носсылки подменю не отображаются, и, следовательно, пользователь не может перейти к любому другому подразделу.Я также использовал фоновое изображение для ссылок, чтобы избежать проблемы псевдонимов, связанных с перекосом текста в IE7.Как ни странно, когда вы щелкаете по миниатюре в разделе «Директора», отображается подменю со списком директоров.

Я думаю, что это как-то связано с порядком размещения z-index, хотя я и назначилЗначения z-index для всех элементов.Код для меню выглядит следующим образом:

--------------- HTML -----------------

<ul id="menu" class="left">
    <li id="direct">
        <a href="#" id="direct-lnk" onClick="return false;" title="Directors">directors</a>
        <ul class="list">
            <li id="vishal"><a href="#" id="vishal-lnk" onClick="return false;" title="Vishal Punjabi">vishal punjabi</a></li>
            <li id="shiraz"><a href="#" id="shiraz-lnk" onClick="return false;" title="Shiraz Bhattacharya">shiraz bhattacharya</a></li>
            <li id="roshan"><a href="#" id="roshan-lnk" onClick="return false;" title="Roshan Shetty">roshan shetty</a></li>
            <li id="saurabh"><a href="#" id="saurabh-lnk" onClick="return false;" title="Saurabh Ghosh">saurabh ghosh</a></li>
            <li id="mark"><a href="#" id="mark-lnk" onClick="return false;" title="Mark Toia">mark toia</a></li>
            <li id="alejandro"><a href="#" id="alejandro-lnk" onClick="return false;" title="Alejandro Toledo">alejandro toledo</a></li>
            <li id="claude"><a href="#" id="claude-lnk" onClick="return false;" title="Claude Genton">claude genton</a></li>
            <li id="tim"><a href="#" id="tim-lnk" onClick="return false;" title="Tim Gibbs">tim gibbs</a></li>
                    </ul>
                </li>
    <li id="about"><a href="#" id="about-lnk" onClick="return false;" title="About us">about us</a></li>
    <li id="production">
        <a href="#" id="production-lnk"  onclick="return false;" title="Production services">production services</a>
        <ul class="list">
            <li id="locations"><a href="#" id="locations-lnk" onClick="return false;" title="Locations">locations</a></li>
            <li id="casting"><a href="#" id="casting-lnk" onClick="return false;" title="Casting">casting</a></li>
            <li id="crews"><a href="#" id="crews-lnk" onClick="return false;" title="Crews">crews</a></li>
            <li id="equipment"><a href="#" id="equipment-lnk" onClick="return false;" title="Equipment">equipment</a></li>
            <li id="post-prod"><a href="#" id="post-prod-lnk" onClick="return false;" title="Post production">post production</a></li>
        </ul>
    </li>
    <li id="get"><a href="#" id="get-lnk" onClick="return false;" title="Get in touch">get in touch</a></li>
</ul>

Ниже приведен код CSS для IE7

IE7 CSS

#menu{ 
    margin:0 auto; 
    list-style-type:none; 
    padding:103px 0 20px 0; 
    background:url(../img/layout/menu-line.gif) repeat-y 8px 0; 
    height:auto; 
    min-height:250px; 
    max-height:515px; 
    width:auto; 
    min-width:180px; 
    position:relative; 
    z-index:-1 !important; 
}

#menu > li{ 
    margin-left:4px; list-style-type:none;
    position:relative;
    height:auto; min-height:25px; width:210px;
    margin:10px 0;
}

#menu > li > a{ 
    display:block; 
    width:210px; 
    height:auto; 
    overflow:hidden; 
    background:url(../img/layout/main-link-ie-bg.jpg) no-repeat -3px 0; 
    font:1.75em/1em "Carbon Block"; 
    letter-spacing:0.015em; 
    color:#46c5e1; 
    text-transform:uppercase; 
    padding-left:20px; 
    position:absolute;
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=-        0.21255656167002124, M22=1, SizingMethod='auto expand')";
    filter: progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=-0.21255656167002124, M22=1, SizingMethod='auto expand');
}

#menu > li > a:hover{ 
    color:#ff9711; 
    background:url(../img/layout/main-link-ie-bg.jpg) no-repeat -3px -35px; 
}

#menu > li > a.sel{ 
    color:#ff9711; background:url(../img/layout/main-link-ie-bg.jpg) no-repeat -3px -35px; 
}

#menu > li > ul{ 
    display:none; 
    width:auto; 
    height:auto; 
    list-style-type:none; 
    margin:30px 0 10px 20px; 
    position:relative; 
    z-index:999;
}

#menu > li > ul > li{ 
    width:200px; 
    height:20px; 
    list-style-type:none; 
    position:relative; 
    padding-left:40px; 
    top:0; left:0; 
    z-index:990; 
}

#menu > li > ul > li:hover{ 
    color:#ff9711; 
}

#menu > li > ul > li > a{ 
    display:block; /*text-indent:-5000px;*/ 
    z-index:999; 
    position:absolute; top:0; left:0; 
    font:1.25em/1em "Carbon Block"; 
    letter-spacing:0.015em; color:#58585a;                                 
    background:url('../img/layout/anchor-bg.jpg'); 
    text-transform:uppercase; 
    height:20px; width:200px; z-index:999 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=-0.21255656167002124, M22=1, SizingMethod='auto expand')";
    filter: progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=-0.21255656167002124, M22=1, SizingMethod='auto expand');
}

#menu > li > ul > li > a:hover{ 
    color:#ff9711; 
}

#menu > li > ul > li > a.sel{ 
    color:#ff9711; 
}

Любая помощь с этим была бы полезной, поскольку я пробовал всевозможности получить подменю для отображения в IE7, и у меня заканчиваются варианты.Я могу вернуться к использованию изображений и избегать перекоса, Cufon и т. Д. В целом, но я не уверен, решит ли это проблему с отображением подменю, и это будет моим последним вариантом.

Кроме того,я используючтобы заставить IE перейти в режим IE7, если это имеет значение.

Best, Sagar

1 Ответ

0 голосов
/ 14 июня 2011

У меня есть меню для работы в IE.

Вам необходимо добавить zoom:1 в CSS для пунктов списка меню, иначе макет полностью потеряет актуальность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...