【问题标题】:CSS Menu Disappears in Safari and Internet ExplorerCSS 菜单在 Safari 和 Internet Explorer 中消失
【发布时间】:2014-06-07 20:44:41
【问题描述】:

在 Safari 和 Internet Explorer 11 中使用 CSS 悬停菜单时遇到很多困难。我认为这可能与 z-index 有关,但请查看我的 JSFiddle 以获取代码参考。如此迷茫!任何帮助将不胜感激。

可在 rebeckacalderwood.com 上查看现场直播

http://jsfiddle.net/mfraser801/c3E9m/

CSS: #菜单 { 边距顶部:10px; 宽度:100%; 背景:#FFF; }

#menu ul {
text-align: center;
display: inline;
margin: 0;
padding: 15px 4px 17px 0;
list-style: none;
}

#menu ul li {
font-family: 'Lato', sans-serif;
font-weight: 300;
color: #87602F;
display: inline-block;
margin-right: -4px;
position: relative;
z-index: 1;
padding: 15px 50px;
background: #fff;
cursor: pointer;
-webkit-transition: all 0.2s;
-moz-transition: all 0.2s;
-ms-transition: all 0.2s;
-o-transition: all 0.2s;
transition: all 0.2s;
}

#menu ul li:hover {
background: #5B1626;
color: #fff;
z-index: 1;
}

#menu ul li ul {
padding: 0;
position: absolute;
z-index: 100;
top: 48px;
left: 0;
width: 185px;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
display: none;
opacity: 0;
visibility: hidden;
-webkit-transiton: opacity 0.2s;
-moz-transition: opacity 0.2s;
-ms-transition: opacity 0.2s;
-o-transition: opacity 0.2s;
-transition: opacity 0.2s;
}

#menu ul li ul li { 
background: #5B1626; 
display: block; 
color: #fff;
text-shadow: 0 -1px 0 #000;
}

#menu ul li ul li:hover { 
z-index: 100;
background: #87602F; 
}

#menu ul li:hover ul {
z-index: 100;
color: #fff;
display: block;
opacity: 1;
visibility: visible;
}

HTML:

<div id="menu">
<nav>
<ul>
<a href="profile.html"><li>PROFILE</li></a>
<a href="resume.html"><li>RESUME</li></a>
<li>
<a href style="color: #87602F;"="portfolio.html">PORTFOLIO</a>
<ul>
<a href="album_reviews.html"><li>WORDS</li></a>  
<a href="photos - events.html"><li>PHOTOS</li></a>
<a href="audio.html"><li>AUDIO</li></a>
<a href="video.html"><li>VIDEO</li></a>  </ul>
</li>              
<a href="contact.html"><li>CONTACT</li></a>
</ul>
</nav>
</div>

【问题讨论】:

    标签: css safari z-index


    【解决方案1】:

    您网站中的代码和 jsfiddle 中的代码不同。这是您网站的 HTML:

    <nav>
        <ul>
            <a href="profile.html"><li>PROFILE</li></a>
            <a href="resume.html"><li>RESUME</li></a>
            <a href="album_reviews.html"> <li>PORTFOLIO</li></a>
            <a href="contact.html"><li>CONTACT</li></a>
        </ul>
    </nav>
    

    将其与您提供的 jsfiddle 示例进行比较。您缺少嵌套的ul。虽然你有#menu ul li:hover ul,但你的代码结构是不同的,没有什么可以应用这种风格的。

    顺便说一句,jsfiddle 在 IE11 中工作得很好。

    【讨论】:

    • 您好,感谢您的回答。单击“投资组合”,然后您可以看到嵌套菜单。 jsfiddle 可能工作正常,但在实际网站上不能正常工作。
    • 尝试从 a.imgLink 和 .video 中删除 z-index。我设法让它以这种方式在 Safari 中工作。 #slider a.imgLink,#slider .video { 从此处删除 z-index }。或者将其设置为 0 或负值。
    猜你喜欢
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    相关资源
    最近更新 更多