如何获取列表项以填充父级无序列表

安东尼·昆特罗

我试图使我的无序列表中的列表项填充整个列表。因为我有一个列表项是两个单词,所以这会使ul变大,但是其他列表项却没有填满,因此我只能翻过头来查看第二个ul,并且无法让我的鼠标访问这些按钮。

这是HTML

        <div id="body_left_nav"> 
            <nav>
                <ul>
                    <li><a href="#">Property Management</a>
                        <ul>
                            <li><a href="#">Commercial</a></li>
                            <li><a href="#">Multi-Family</a></li>
                        </ul>
                    </li>
                    <li><a href="#">Brokerage</a>
                        <ul>
                            <li><a href="#">Commercial</a></li>
                            <li><a href="#">Multi-Family</a></li>
                        </ul>
                    </li>
                    <li><a href="#">Leasing</a>
                        <ul>
                            <li><a href="#">Commercial</a></li>
                        </ul>
                    </li>
                    <li><a href="#">Consulting</a> 
                        <ul>
                            <li><a href="#">Commercial</a></li>
                            <li><a href="#">Multi-Family</a></li>
                        </ul>
                    </li>
                </ul>
            </nav>
        </div>

和CSS

#body_left_nav{
    width: 100%;
    margin-left: 10px;
    height: 100%;
}
#body_left_nav a { 
    font-weight: bold; 
    color: #000; 
    font-size: 14px;
}
#body_left_nav  ul {
    width: 100%;
    background: #efefef; 
    background: linear-gradient(top, #efefef 0%, #004A65 100%);  
    background: -moz-linear-gradient(top, #efefef 0%, #004A65 100%); 
    background: -webkit-linear-gradient(top, #C4DAE8 0%,#004A65 100%); 
    box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
    border-radius: 10px;  
    list-style: none;
    position: relative;
    display: inline-table;
}
#body_left_nav ul li {
    float: left;
    width: 25%;
}
#body_left_nav ul li:hover {
    background: #4b545f;    
    background: linear-gradient(top, #4f5964 0%, #5f6975 40%);
    background: -moz-linear-gradient(top, #4f5964 0%, #5f6975 40%);
    background: -webkit-linear-gradient(top, #C4DAE8 0%,#004A65 40%);
}
#body_left_nav ul li a {
    display: block;
    padding: 20px;
    color: #fff;
    text-decoration: none;
    text-align: center;
}
#body_left_nav ul li a:visited {
    color: #fff;
}
#body_left_nav ul li:hover a {
    color: #fff;
}
#body_left_nav ul li:hover > ul {
    display: block;
    top: 100%;
}
#body_left_nav ul:after {
    clear: both; 
    display: block;
}
#body_left_nav ul ul {
    width: 25%;
    background: #5f6975; 
    border-radius: 0px;
    position: absolute; 
    display: none;
}
#body_left_nav ul ul li {
    width: 100%;
    float: none; 
    background: #efefef; 
    background: linear-gradient(top, #efefef 0%, #004A65 100%);  
    background: -moz-linear-gradient(top, #efefef 0%, #004A65 100%); 
    background: -webkit-linear-gradient(top, #C4DAE8 0%,#004A65 100%); 
    box-shadow: 0px 0px 9px rgba(0,0,0,0.15);
    border-top: 1px solid #D32026;
    border-bottom: 1px solid #D32026;
    position: relative;
}
#body_left_nav ul ul li a {
    text-align: center;
    color: #fff;
}

编辑:这是jsfiddle http://jsfiddle.net/bv9j8ra5/我不知道为什么整个导航和ul缩进。它在我的网站上没有执行此操作,但是我仍然遇到列表项未填充父ul的问题。

编辑:这也可能会有所帮助。这是正在发生的事情的图像。我在“物业管理”上没有差距,但在另一个3上有一个差距。[1]:http : //i.stack.imgur.com/NbDnW.png

永恒的时光

发生这种情况是因为您需要从嵌套ul中删除边距和填充。

#body_left_nav ul ul {
    width: 25%;
    background: #5f6975;
    border-radius: 0px;
    position: absolute;
    display: none;
    margin: 0;
    padding: 0;

编辑:

有几种解决方法,您可以使用padding静态地执行此操作。
这是适用的CSS:

#body_left_nav ul li {
    float: left;
    width: 25%;
    height: 50px;
}
#body_left_nav ul li a {
    display: block;
    padding: 1.2em 0;
    color: #fff;
    text-decoration: none;
    text-align: center;
}

这是新的小提琴:http : //jsfiddle.net/bv9j8ra5/3/

编辑#2:

或者,您可以通过相对定位来动态地执行此操作。

CSS:

#body_left_nav ul li {
        float: left;
        width: 25%;
        height: 50px;
}
#body_left_nav ul li a {
    display: block; 
    color: #fff;
    text-decoration: none;
    text-align: center;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

这是小提琴:http : //jsfiddle.net/bv9j8ra5/5/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取列表项以填充父级无序列表

来自分类Dev

排列无序列表项

来自分类Dev

如何将列表项放在无序列表的中央?

来自分类Dev

如何将列表项放在无序列表的中央?

来自分类Dev

如何在水平无序列表中将列表项居中?

来自分类Dev

列表项的无序列表数

来自分类Dev

无序列表-列表项位置

来自分类Dev

替换无序列表中的列表项

来自分类Dev

用填充停止无序列表比父div高

来自分类Dev

css masonry 无序列表项

来自分类Dev

您如何在div内居中的无序列表中留下对齐列表项?

来自分类Dev

如何将新列表项添加到无序列表

来自分类Dev

如何在无序列表中使列表项的宽度与其他项相同?

来自分类Dev

如何从模态弹出文本字段的无序列表中编辑特定列表项

来自分类Dev

如何使用jquery(最好)显示和隐藏无序列表(ul)中的列表项(li)元素?

来自分类Dev

使用PHP计算无序列表中列表项的总数

来自分类Dev

jQuery将列表项移动到无序列表的末尾

来自分类Dev

将列表项添加到无序列表

来自分类Dev

计算多个无序列表中的列表项(ul)

来自分类Dev

将无序列表中的图像与列表项对齐

来自分类Dev

无序列表中子菜单列表项的继承问题

来自分类Dev

Ajax无法处理无序列表中的列表项

来自分类Dev

如何选择在选定列表项之前的每个第一个父级列表项

来自分类Dev

从无序列表中删除填充

来自分类Dev

如何从JSON获取数据到无序列表?

来自分类Dev

为什么父容器的填充不应用于浮动的无序列表?

来自分类Dev

更改CSS中无序列表项的高度

来自分类Dev

通过ng-repeat嵌套多个无序列表项

来自分类Dev

未在预期位置显示的无序列表项目符号

Related 相关文章

热门标签

归档