当前位置: 首页 > 知识库问答 >
问题:

CSS3垂直弹出菜单+过渡在FF中不起作用

夏侯浩气
2023-03-14

我有一个垂直飞行导航系统。第二级ul块通过在父级li:hover;上将其不透明度从0设置为1来显示。这在IE和其他环境中工作得很好,但在FF中转换效果不起作用。

HTML标记:

<nav>
    <ul>
    <li>
        <a title="" href="">Item</a>
    </li>
    <li>
        <a title="" href="">Item</a>
        <ul>
            <li>
                <a title="" href="">Item</a>
            </li>
            <li>
                <a title="" href="">Item</a>
            </li>
            <li>
                <a title="" href="">Item</a>
            </li>
            <li>
                <a title="" href="">Item</a>
            </li>
        </ul>                
    </li>
    <li>
        <a title="" href="">Item</a>
        <ul>
            <li>
                <a title="" href="">Item</a>
            </li>
            <li>
                <a title="" href="">Item</a>
            </li>
        </ul> 
    </li>
    <li>
        <a title="" href="">Item</a>
    </li>
    </ul>
</nav>

CSS中的部分:


    nav a{
        display: block;   
    }
    nav a:hover,
    nav li.selected > a{
        color: #00fa30;
    }
    nav li:hover > a,
    nav li.selected > a{
        color: #00fa30;
    }
    nav ul{
        padding: 0px;
        margin: 0px;
        list-style-type: none;
    }

    nav > ul{
        border-bottom: 2px solid #006666;
        font-size: 16px;
        letter-spacing: 1px;
        width: 212px;
    }
    nav > ul > li{
        border-top: 2px solid #006666;
        padding: 6px 0px;
        line-height: 19px;
        text-transform: uppercase;
    }
    nav > ul > li:hover{
        position: relative;
        z-index: 998; 
    }

    nav > ul > li > ul{
        position: absolute;
        top: -2px; 
        left: 212px; 
        z-index: 999;
        opacity: 0;
        border: 2px solid #006666;
        padding: 0px 6px;
        background-color: #eae9e7;
        font-size: 16px;
        letter-spacing: 1px;   
        width: 180px;  
    }
    nav > ul > li:hover ul{
        opacity: 1;
        -webkit-transition: opacity 0.6s ease-in;
        -moz-transition: opacity 0.6s ease-in;
        -o-transition: opacity 0.6s ease-in;
        -ms-transition: opacity 0.6s ease-in;
        transition: opacity 0.6s ease-in;        
    }
    nav > ul > li > ul > li{
        border-bottom: 2px solid #006666;
        padding: 6px 0px;
        line-height: 0px;
        text-transform: uppercase;   
    }
    nav > ul > li:hover > ul > li{
        line-height: 19px;      
    }
    nav > ul > li > ul > li:last-child{
        border-bottom: 0px;
    } 

演示

共有1个答案

穆鸿飞
2023-03-14

如果从ul>li:hover{中删除:hover,使其变为

ul > li {
    position: relative;
    z-index: 998; 
}

那么您提供的示例将起作用。抱歉,如果我误解了这一点,但这是我的理解。显然,每当一个过渡子元素的父元素同时修改其定位时,FireFox就无法正确处理。根据此链接https://bugzilla.mozilla.org/show_bug.cgi?id=625289,这是一个已知的bug。

如果您绝对需要将悬停时的框架/位置修改样式应用到父元素,那么您可能需要通过javascript、jQuery等进行其他操作,但在您的示例中,它没有改变任何内容。下面是一个工作的js小提琴:JSFiddle

 类似资料:
  • 问题内容: 我正在显示链接的属性。title属性通过… 附加到链接。 现在,我想知道如何在移入和移出时动画化伪元素的不透明度。 html CSS 任何想法为什么这不起作用? 问题答案: WebKit(Chrome,Safari)不支持在伪元素上进行过渡。 它应该可以在Firefox中使用。 编辑: WebKit中的问题现在已解决。该修补程序已经可以在Chrome Carnery中找到,因此它将从版

  • .animated_div { width:60px; height:40px; background:#92B901; color:#ffffff; position:absolute; font-weight:bold; font-size:15px; padding:10px; float:left; margin:5px; -webkit-transition:-webkit-transf

  • 问题内容: 我正在尝试在纯CSS中实现“淡出”效果。我确实在网上研究了几种解决方案,但是,在在线阅读文档后,我试图弄清为什么幻灯片动画不起作用。有指针吗? 问题答案: 您可以改用转换:

  • mui框架内置了弹出菜单插件,弹出菜单显示内容不限,但必须包裹在一个含.mui-popover类的div中,如下即为一个弹出菜单内容: <div id="popover" class="mui-popover"> <ul class="mui-table-view"> <li class="mui-table-view-cell"><a href="#">Item1</a></li

  • 注意: Adobe Muse 不再添加新增功能,并将于 2020 年 3 月 26 日停止支持。有关详细信息和帮助,请参阅 Adobe Muse 服务结束页面。 构建网站时,导航是最需要考虑的方面之一。在设计网站时,选择网站导航的类型和位置至关重要。鉴于菜单或网站导航的效果,用户对网站的体验会得到提升或变得糟糕。 在 Adobe Muse 中,可以使用“菜单”构件快速创建网站导航系统。虽然您可以创

  • 本文向大家介绍bootstrap modal弹出框的垂直居中,包括了bootstrap modal弹出框的垂直居中的使用技巧和注意事项,需要的朋友参考一下 本人前端菜鸟,公司项目尝试采用bootstrap,我身先士卒为同事趟“坑”,无奈UI妹子刁难非得让modal弹出框垂直居中,为了前端开发岗位的荣誉,花时间满足之。 最先就是百度咯,方法,就是修改源码 这里的that.element就是最外层的d