在导航悬停时添加底部边框而不更改下面所有内容的位置

时间:2016-04-18 23:00:54

标签: html css navigation hover

我希望在悬停时使我的导航具有底部边框,但随后它会将我的所有内容3px向下移动。如何在不移动所有内容的情况下使其工作。

导航CSS:

nav {
    width: 80%;
    margin: 0 auto;

}
nav ul {
    list-style-type: none;
}
nav ul li {
    float: left;
    width: 19.7%;
    background-color: #e88610;
    text-align: center;
    border-right: 3px solid gray;
    border-top: 1px solid gray;
}
nav ul li:last-child {
    border-right: none;
    border-bottom-right-radius: 5px;
}
nav ul li:first-child {
    border-bottom-left-radius: 5px;
}
nav ul li a {
    text-decoration:none;
    display: block;
    padding: 10px 0px;
    color: white;
}
nav ul li a:visited {
    color: white;
}
nav ul li a:hover{
    background-color: orange;
    border-bottom: 3px solid gray;
}

以下内容的CSS:

#novi_clanak {
    background-color: rgba(255, 255, 255, 0.65);
    width: 100%;
    padding-bottom: 40px;
    margin-top:35px;
}

2 个答案:

答案 0 :(得分:1)

添加到nav css

position: fixed;

答案 1 :(得分:1)

基本上通过添加边框,您可以将导航扩展3px。在http://www.w3schools.com/css/css3_box-sizing.asp查看CSS的box-sizing属性。您希望nav ul li a:hover拥有box-sizing: border-box;。这将使底部边框的3px考虑到​​元素高度。

或者,将nav ul li a:hover高度缩短3px(将其设置为39px)。