2016-08-16 27 views

回答

0

li標記中使用透明邊框。

header img { 
 
    width: 59px; 
 
    height: 32px; 
 
    float: left; 
 
} 
 

 
nav { 
 
    float: right; 
 
} 
 

 
nav ul li { 
 
    display: inline-block; 
 
    font-family: 'Roboto Condensed', sans-serif; 
 
    font-weight: 400; 
 
    font-size: 1em; 
 
    height: 90px; 
 
    -moz-box-sizing: border-box; 
 
    -webkit-box-sizing: border-box; 
 
    box-sizing: border-box; 
 
    border-top: 8px solid rgba(0, 0, 0,0); 
 
} 
 

 
nav li:not(:last-child) { 
 
    margin: 0px 40px 0px 0px; 
 
} 
 

 
nav ul li:hover { 
 
    border-color: rgb(109, 155, 166); 
 
    cursor: pointer; 
 
} 
 

 
nav ul li a { 
 
    text-decoration: none; 
 
    color: rgb(62, 74, 89); 
 
    height: 100%; 
 
    display: block; 
 
} 
 

 
header { 
 
    max-width: 960px; 
 
    height: 90px; 
 
    margin: 0 auto; 
 
    line-height: 90px; 
 
    display: flex; 
 
    justify-content: space-between; 
 
    align-items: center; 
 
}
<header> 
 

 
    <img src="images/logo.png" alt="BW"> 
 

 
    <nav> 
 
    <ul> 
 
     <li><a href="google.de">Start</a></li> 
 
     <li><a href="#">&Uuml;ber mich</a></li> 
 
     <li><a href="#">Pakete</a></li> 
 
     <li><a href="#">Portfolio</a></li> 
 
     <li><a href="#">Kontakt</a></li> 
 
    </ul> 
 
    </nav> 
 

 
</header>

0

添加懸停改變邊界爲元素的內容,所以你應該爲你提供的css絲毫透明邊框時不叮無縫的

nav ul li { 
    border-top:8px solid transparent; 
    display: inline-block; 
    font-family: 'Roboto Condensed', sans-serif; 
    font-weight: 400; 
    font-size: 1em; 
    height: 90px; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
} 
0

很明顯,他們在移動。首先你沒有邊框,所以它們在頂部,當你將它懸停時,你有一個8px的邊框,所以它們向下運行8px。

該解決方案很簡單。您必須在開始時向您的li添加透明邊框。

nav ul li { 
    border-top: 8px solid rgba(0, 0, 0,0); 
} 

nav ul li { 
    border-top: 8px transparent; 
} 

這兩種解決方案是可能的,但不是每一個(舊)瀏覽器接受的透明標籤。

0

你可以試試這個代碼...

nav ul li { 
    display: inline-block; 
    font-family: 'Roboto Condensed', sans-serif; 
    font-weight: 400; 
    font-size: 1em; 
    height: 90px; 
    -moz-box-sizing: border-box; 
    -webkit-box-sizing: border-box; 
    box-sizing: border-box; 
    position: relative; 
} 

nav ul li:hover::before { 
    /* border-top: 8px solid rgb(109, 155, 166); */ 
    content: ""; 
    display: inline-block; 
    width: 50px; 
    height: 8px; 
    position: absolute; 
    top: 0; 
    background-color: rgb(109, 155, 166); 
} 
相關問題