无序列表不会跨越整个div

时间:2017-10-05 09:40:45

标签: html css html-lists

我在div(ul)中有一个left-nav-bar。当用户将鼠标悬停在整个div上时,我试图让ul跨越整个div,但是在每个li之前都会生成空格,我不知道为什么。

enter image description here

我试过了:

.nav-container ul{
    width: 100%;
}

允许ul扩展到文本之外,但不解决空格。

这是一个小提琴:https://jsfiddle.net/ytynqhmj/

3 个答案:

答案 0 :(得分:1)

默认情况下ul元素padding-left: 60px;只需使用0px更新它即可解决此问题。查看下面的更新代码段。



html,
body {
    height: 100%;
    background-color: #333;
}

body {
    background-color: #333;
    text-align: center;
    text-shadow: 0 .05rem .1rem rgba(0, 0, 0, .5);
    margin: 0;
    font-family: "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    display: block;
}


/** CONTAINER DIVS **/

.site-wrapper {
    display: table;
    width: 100%;
    height: 100%;
    min-height: 100%;
}

.site-wrapper-inner {
    display: table-cell;
    vertical-align: top;
    overflow: auto;
}

.logo-holder {
    height: 150px;
    text-align: center;
    border: 1px solid black;
}

.logo-holder h3 {
    line-height: 150px;
}

.nav-container {
    width: 300px;
    float: left;
    background-color: #fff;
    height: 100%;
}

.nav-container a {
    text-align: left;
    padding: 5px;
    color: #333;
}

.nav-container ul {
    width: 100%;
    padding: 0px;
}

.nav-container ul li {
    list-style-type: none;
    width: 100%;
}

.nav-container li:hover {
    background-color: #333;
}

<div class="site-wrapper">
    <div class="site-wrapper-inner">
        <div class="nav-container">
            <div class="logo-holder">
                <h3>Logo</h3></div>
            <nav class="nav left-nav-bar">
                <ul>
                    <li><a class="nav-link active" href="">Home</a></li>
                    <li><a class="nav-link" href="">Blog</a></li>
                    <li><a class="nav-link" href="">Store</a></li>
                    <li><a class="nav-link" href="">Contact</a></li>
                </ul>
            </nav>
        </div>
    </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

只需删除ul的默认左侧填充:

.nav-container ul{
  padding-left:0;<----Added
  //more code....
}

Demo

答案 2 :(得分:1)

ul元素默认具有左边距。

padding: 0;padding-left: 0;添加到.nav-container ul以避免此

https://jsfiddle.net/ejzL9zo9/