美文网首页饥人谷技术博客
css制作导航栏下拉菜单及问题

css制作导航栏下拉菜单及问题

作者: 好怪的怪兽 | 来源:发表于2015-12-12 10:01 被阅读533次

    http://js.jirengu.com/qegovoxize/1/edit?html,css,output
    这个是放在jsbin上的代码。
    一、我的思路
    CSS制作下拉菜单,主要是运用了样式hover。
    原来下拉菜单设置的样式是display:none;当一级菜单hover时,下拉菜单从display:none转变为display:block。
    在设置当一级菜单:a标签被hover时,下拉菜单的样式,我的写法是:.nav>ul>a:hover+.pull1{display:block;}。
    但是这样设置只能在a标签被hover时才能出现下拉菜单,当鼠标离开a标签时,下拉菜单就会消失。这样不符合下拉菜单的要求。所以我又设置了当下拉菜单被hover时,下拉菜单也会从display:none转变为display:block。我的写法是:.pull1:hover{display:block;}。
    二、存在的问题
    这样的写法只能勉强实现了下拉菜单的模样,但是存在几个问题。
    1、鼠标从a标签移动到下拉菜单时,当鼠标经过一级菜单和二级菜单的空隙之间,下拉菜单会消失。只有当鼠标运动速度足够快的时候,才能实现选择二级菜单的功能。
    2、这样的写法无法实现渐变,因为display:none转变到display:block上是不需要时间转变的,这样会不美观。
    3、这个写法代码感觉非常冗长,因为一个下拉标签需要分别设置一级标签和下拉标签的hover。这样代码也会非常不美观。

    相关文章

      网友评论

        本文标题:css制作导航栏下拉菜单及问题

        本文链接:https://www.haomeiwen.com/subject/uxwyhttx.html