【问题标题】:How to make last element of second level of menu to drop up?如何使第二级菜单的最后一个元素下拉?
【发布时间】:2016-03-26 09:06:48
【问题描述】:

我已经尝试了将近 3 周,但还没有成功。我需要帮助来调整一下我的下拉菜单。我会尽力让你明白我在找什么。

我的博客上有一个水平菜单,二级和三级元素下拉。有什么方法可以使最后一个元素及其级别元素下降而不是下降?我的意思是,看看我菜单上的第四类——时事。在鼠标悬停时,它的第二个元素是 SPORTS。 再次将鼠标悬停在 SPORTS 上,板球、网球、羽毛球等向右浮动并下降。 我希望将 SPORTS 保持在 CURRENT AFFAIRS 列表的底部(而不是列表中的第二位),并且它的元素 - 板球、网球、羽毛球等首先向右浮动(就像他们目前所做的那样),然后下降,而不是下降。

我想要实现的一个例子就是这个 - http://www.cssplay.co.uk/menus/final_pullup.html 当我们将鼠标悬停在 DEMOS 上,然后在 ACTIVE FOCUS 上时,元素会向右飞出然后下降。我也希望如此。 我不打算有一个完全的下拉菜单,而是只希望列表中的最后一个底部元素向右飞出,然后它的关卡元素下拉,就像它发生在 ACTIVE FOCUS 元素中一样。 有人可以指导我如何实现吗?

这是菜单的当前 CSS -

/* Horizontal Menu */
#menutop ul,#menutop li,#menutop span,#menutop a {margin:0;padding:0;
position:relative;}
#menutop {height:49px;background:#1a1b1f;width:auto;position: relative;}
#menutop:after,#menutop ul:after {content:'';display:block;clear:both;}
#menutop a {background:#1a1b1f;color:#e0d4d4;display:inline-block;font-family:'Oswald';font-size:15px;font-weight:300;line-height:49px;padding:0 20px;text-decoration:none;transition:all 0.3s ease;}
#menutop ul {list-style:none;}
#menutop > ul,#menutop > ul > li {float:left;}
#menutop > ul > li > a {color:#e0d4d4;font-size:15px;}
#menutop > ul > li.active > a {background:1a1b1f;color:#e0d4d4;}
#menutop > ul > li:hover > a {background:#2f82c3;color:#fff;}
#menutop .menu-sub {z-index:1;}
#menutop .menu-sub:hover > ul {display:block;}
#menutop .menu-sub ul {display:none;position:absolute;width:170px;top:100%;left:0;box-shadow:0 1px 3px 0 rgba(0,0,0,0.3);border-radius:2px;}
#menutop .menu-sub ul li {margin-bottom:0px;}
#menutop .menu-sub ul li a {background:#236ea8;font-size:15px;display:block;line-height:120%;padding:10px;color:#f6f6f6;transition:all 0.3s ease;}
#menutop .menu-sub ul li:hover a {background:#459bb6;color:#fff;}
#menutop .menu-sub .menu-sub:hover > ul {display:block;}
#menutop .menu-sub .menu-sub ul {display:none;position:absolute;left:100%;top:0;}
#menutop .menu-sub .menu-sub ul li a {background:#459bb6;color:#fff;transition:all 0.8s ease-in-out;}
#menutop .menu-sub .menu-sub ul li a:hover {background:#3d8ba4;color:#fff;}

【问题讨论】:

    标签: html css drop-down-menu menu


    【解决方案1】:

    我正在为您的确切问题编辑我之前的答案...

    给你..

    #menutop .menu-sub ul li a{
    position: relative;
    
    }
    
    #menutop .menu-sub .menu-sub ul{
    position: absolute;
    top: -75px;
    }
    

    这应该可以正常工作。 . .

    【讨论】:

    • 是的,这一次子菜单像我想要的那样向上堆叠。我现在唯一要做的就是将某些菜单项移到底部,这样它们的子菜单就不会被切断。非常感谢您花时间解决我的问题 :) 非常感谢。
    【解决方案2】:

    这是来自您要更改的网站。

    现在试试这个

    #menutop {
        height: 49px;
        background: #1a1b1f;
        width: auto;
        position: relative;
    }
    
    .menu ul ul {
        visibility: hidden;
        position: absolute;
        bottom: 30px;
        left: 0;
        width: 150px;
    }
    

    【讨论】:

    • 诀窍很简单,您将父 ul 的 li 设为相对,将 li(即子列表)内的 ul 设为绝对,然后从底部向上移动。你也可以对下一个 ul 孩子做同样的事情。
    • 感谢极客的回复。我将 .menu ul ul 片段添加到 CSS 中,但它仍然不起作用。所以我已经恢复到原来的 CSS。但是,我现在将“运动”置于菜单类别“时事”的底部。我正在用菜单的当前 CSS 部分(菜单的整个 CSS 部分)更新我的问题。请看看有什么可以做的。
    • 应该是 .menu-sub ul ul { 而不是 .menu ul ul { ?
    • 如果您希望子菜单也向上移动,那么可以。
    • 是的,我很乐意接受您的回答,我也尝试输入 .menu-sub ul ul { 但即使这样也没有用。实际上,我只希望子菜单向上移动,而不是整个菜单,也只是列表最后一个子菜单的子菜单。例如,如果您访问我的网站并将鼠标悬停在 CURRENT AFFAIRS 上,则最后一个子元素是 SPORTS。我希望 SPORTS 的子菜单在鼠标悬停时向上移动,即板球,然后是网球,然后是羽毛球,然后是曲棍球,然后是其他运动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2012-06-29
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多