首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS下拉菜单显示“动画”

问CSS下拉菜单显示“动画”
EN

Stack Overflow用户
提问于 2014-07-24 12:28:01
回答 3查看 6.8K关注 0票数 0

我使用一个列表的导航为我的网站导航,当一个用户悬停在某些列表项目,下拉显示与额外的导航选项。在我的例子中,当用户在“品牌”项目上徘徊时,所有不同品牌都会出现下拉列表。目前,下拉显示立即出现,但我希望它出现在一个运动,就像它是向下滑动,而不是只是立即出现。这是可能的CSS,还是我需要一些jQuery魔术?代码:

HTML:

代码语言:javascript
复制
    <section id="nav">

        <div id="nav-wrapper">

            <ul id="nav-list">

                <li id="nav-home"><a href="">Home</a>
                </li>
                <li id="nav-brands"><a href="">Brands</a>
                    <ul id="brands-list">
                        <li><a href="">Brand 01</a>
                        </li>
                        <li><a href="">Brand 02</a>
                        </li>
                        <li><a href="">Brand 03</a>
                        </li>
                        <li><a href="">Brand 04</a>
                        </li>
                        <li><a href="">Brand 05</a>
                        </li>
                    </ul>
                </li>
                <li id="nav-about"><a href="">About Us</a>
                </li>
                <li id="nav-contact"><a href="">Contact Us</a>
                </li>

            </ul>

        </div>

    </section>

CSS:

代码语言:javascript
复制
#nav-brands { position:relative; }

#nav-list li:hover ul { display: block; opacity: 1; visibility: visible; background-color: #fff; }

#brands-list { padding: 10px 0px 0px 0px; position: absolute; top: 20px; left: -35px; width: 120px; 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; border:thin solid #000000; border-radius:0px 0px 5px 5px;
               border-top:0px;
}

#brands-list li { display: block; margin:0px 0px 5px 0px; padding:0px 0px 5px 0px; text-align:center; border-bottom:thin solid #CECECE;

}

#brands-list li:hover {}

#brands-list li:last-child { border-bottom:0px; }
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-24 12:44:29

没有Jquery魔法。

css方法是将您的子列表封装在div中。使用该div设置子菜单位置,然后使用overflow / transition技巧向内部列表提供您要寻找的滑动效果。

请看这里:http://jsfiddle.net/vrGfc/

另外,从子菜单本身移除悬停效果。它只需要应用于包装器div。

票数 2
EN

Stack Overflow用户

发布于 2014-07-24 12:36:58

见示例

http://jsfiddle.net/DHW9v/1/

您需要设置转换-定时功能。

代码语言:javascript
复制
transition: opacity .8s ease-in-out;
票数 2
EN

Stack Overflow用户

发布于 2014-07-24 12:30:56

这里不需要任何jQuery或类似的东西-您要寻找的css属性是“转换”- transitions.asp

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24933712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档