Tiny
V2EX  ›  CSS

请教一个菜单栏CSS的问题

  •  
  •   Tiny · Mar 25, 2013 · 4866 views
    This topic created in 4820 days ago, the information mentioned may be changed or developed.
    菜单栏移入的时候会显示二级菜单,移出的时候会隐藏二级菜单
    如图

    浮动的DIV 是absolute,移入移出的时候计算得出他的位置,问题就在这里,在滚动条滚动的时候这个浮动的DIV是不会跟随滚动条移动的。在IE8下面鼠标移入浮动DIV滚动鼠标,浮动的DIV不消失,下面的菜单继续在滚动。我觉得是我思路有问题,请问一下这种类似的效果有什么更合理的解决办法吗?

    谢谢。
    10 replies    1970-01-01 08:00:00 +08:00
    Julyyq
        1
    Julyyq  
       Mar 25, 2013
    LZ随便打开哪个网站,看下源码看看别人是怎么搞得嘛
    momou
        2
    momou  
       Mar 25, 2013   ❤️ 1
    上层没有relative?
    Tiny
        3
    Tiny  
    OP
       Mar 25, 2013
    @moumou 加了relative没生效 重新写了个DEMO可以。。 应该是我HTML结构没写好
    Tiny
        4
    Tiny  
    OP
       Mar 25, 2013
    @Julyyq 回复之前看一下回复按钮右手边的提示,如果你能“随便”打开哪个网站找到类似的例子的话,请随便贴个链接,我会非常感激。
    rephaslife
        5
    rephaslife  
       Mar 25, 2013
    增加一个fixed的框,自己弄到想要的位置。然后里面按顺序上一级菜单,在每个一级菜单的下面加上display:none的二级菜单。然后在每个一级菜单的相应事件里把对应二级菜单显示/隐藏。
    这样二级菜单自然会把下面的内容挤出去。只要不要弄position或float就行了。

    此方案是否可行?
    Tiny
        6
    Tiny  
    OP
       Mar 25, 2013
    @rephaslife 这个要浮在上面的 不能挤开下面的元素
    rephaslife
        7
    rephaslife  
       Mar 25, 2013
    @Tiny display:relative;z-index:250;
    liyandong
        8
    liyandong  
       Mar 26, 2013
    纯CSS有兼容各个浏览器的好办法么?
    Kaiyuan
        9
    Kaiyuan  
       Mar 26, 2013   ❤️ 1
    @Tiny 这样的二级菜单一般都用 ul>li>ul>li的结构,真的是随便都能找到一个类似的,看起来不同,代码是一样的.只是 IE6 不能纯 css 完成.
    第一层菜单先设置releative,子菜单设置absolute,之后定位就好了.
    ui li {position:relative;}
    ul li ul {position:absolute;dispaly:none;top:0;left:100%;}
    ul li:hover ul {dispaly:block}
    不用定z-index. IE6 不支持:hover,需要jquery实现,js太麻烦,jquery直接一句代码可以.
    Tiny
        10
    Tiny  
    OP
       Mar 27, 2013
    谢谢@Kaiyuan 自己已经鼓捣出来了 用的Jquery 实现和你的差不多 ,其实这里是三级菜单,HTML结构我刚开始没弄好 ,怎么都不行 改了之后就好了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3153 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 03:34 · PVG 11:34 · LAX 20:34 · JFK 23:34
    ♥ Do have faith in what you're doing.