【问题标题】:Background For Navigation Element Not Filling Entire Space导航元素的背景未填充整个空间
【发布时间】:2018-12-09 02:48:09
【问题描述】:

StackOverflow 社区!

我的网站有问题,我将鼠标悬停在导航栏上的某个项目上,但它没有覆盖我打算覆盖的全部位置。对于那些敏锐地注意到这个问题也得到了回答HereHere 的版主,它不适用于我的情况,因为一个是跨度标签,另一个是垂直下拉菜单,而不是水平导航栏。下面附上问题的截图。

我打算的效果是让背景右到上下边缘,将背景推到左右边缘

我试过在网上玩,但最一致的答案是:

使用display: block

如果我要实现它会打乱导航栏的流程。有人能指出我正确的方向吗?

用于设置导航栏及其元素样式的 CSS:

nav {
    text-align: center;
    background-color: black;
}

nav ul {
    list-style-type: none;
    padding: 10px;
}

nav li {
    display: inline-block;
    transition: background-color 0.3s ease-in-out 0s;
}

nav li:hover {
    background-color: lightgrey;
}

nav a {
    text-decoration: none;
    color: white;
}

注意:问题在于我向 ul 元素添加了一些填充,我明白这一点。我只是不确定如何在不拧导航栏的情况下绕过它

【问题讨论】:

    标签: css navigation


    【解决方案1】:

    只需将填充放在li 上即可。

    nav {
        text-align: center;
        background-color: black;
    }
    
    nav ul {
        list-style-type: none;
    }
    
    nav li {
        display: inline-block;
        transition: background-color 0.3s ease-in-out 0s;
        padding: 10px;
    }
    
    nav li:hover {
        background-color: lightgrey;
    }
    
    nav a {
        text-decoration: none;
        color: white;
    }
    <nav>
      <ul>
        <li><a>One</a></li>
        <li><a>Two</a></li>
      </ul>
    </nav>

    【讨论】:

    • @Paul Abbot。谢谢你的回答。如果您不介意,您能否编辑您的答案并解释为什么这样做,以及为什么旧代码不起作用。如果你不想,我理解。在您回复之前,我会保留此答案,但不会作为最终答案
    猜你喜欢
    • 1970-01-01
    • 2020-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多