微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – CSS下拉菜单,子菜单与父元素的右边缘对齐

这是一个基于CSS的下拉菜单的简单示例: http://jsfiddle.net/V8aL6/
<ul id="nav">
    <li>
        <a href="#" title="Return home">Home</a>

    </li>
    <li>
        <a href="#" title="About the company">About</a>
        <ul>
            <li><a href="#">The product</a></li>
            <li><a href="#">Meet the team</a></li>
        </ul>

    </li>
    <li>
        <a href="#" title="The services we offer">Services</a>
        <ul>
            <li><a href="#">Sevice one</a></li>
            <li><a href="#">Sevice two</a></li>
            <li><a href="#">Sevice three</a></li>

            <li><a href="#">Sevice four</a></li>
        </ul>
    </li>
    <li>
        <a href="#" title="Our product range">Product</a>
        <ul>
            <li><a href="#">Small product (one)</a></li>

            <li><a href="#">Small product (two)</a></li>
            <li><a href="#">Small product (three)</a></li>
            <li><a href="#">Small product (four)</a></li>
            <li><a href="#">Big product (five)</a></li>
            <li><a href="#">Big product (six)</a></li>
            <li><a href="#">Big product (seven)</a></li>

            <li><a href="#">Big product (eight)</a></li>
            <li><a href="#">Enourmous product (nine)</a></li>
            <li><a href="#">Enourmous product (ten)</a></li>
            <li><a href="#">Enourmous product (eleven)</a></li>
        </ul>
    </li>
    <li>

        <a href="#" title="Get in touch with us">Contact</a>
        <ul>
            <li><a href="#">Out-of-hours</a></li>
            <li><a href="#">Directions</a></li>
        </ul>
    </li>
</ul>

但我找不到一个解决方案来将子菜单与其父级的右边缘对齐,如下所示:

解决方法

菜单通过修改left属性实现隐藏/显示.您所需要的只是调整CSS规则,它控制子菜单的show机制:
#nav li:hover ul{
    left:0;
}

而不是将它对齐到左边,我们想要正确对齐,所以我们添加右:0;.但是,如果我们不触摸左声明,菜单将被切断,所以而不是左:0;我们写左:auto;让菜单扩展到它的固有宽度.为了适应父母的保证金,我们添加相同的金额作为负保证金,我们完成了:

#nav li:hover ul{
    left:auto;
    right:0;
    margin-right:-10px;
}

you modified fiddle

原文地址:https://www.jb51.cc/html/231604.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐