2015-03-31 56 views
0

菜單懸停在盤旋...當我徘徊時,我該怎麼做才能讓其他元素留在一個地方?菜單在懸停時跳動

懸停它設置爲黑體,這一切舉動向兩邊......

.navlinks ul { 
 
    margin-top: 45px; 
 
    padding: 0; 
 
} 
 
.navlinks ul li { 
 
    display: inline-block; 
 
} 
 
.navlinks ul li a { 
 
    color: black; 
 
    font-weight: 300; 
 
    font-size: 1.5em; 
 
    text-decoration: none; 
 
    border-bottom: 1px dashed white; 
 
} 
 
.navlinks ul li a:hover { 
 
    font-weight: 700; 
 
    border-bottom: none; 
 
} 
 
.navlinks ul > li:not(:first-child) { 
 
    margin-left: 30px; 
 
}
<div class="navlinks"> 
 
    <ul> 
 
    <li><a href="#">Home</a> 
 
    </li> 
 
    <li><a href="#">About us</a> 
 
    </li> 
 
    <li><a href="#">Product</a> 
 
    </li> 
 
    <li><a href="#">FAQ</a> 
 
    </li> 
 
    </ul> 
 
</div>

+0

要刪除大膽?從CSS中刪除'font-weight:700;'。 – naththedeveloper 2015-03-31 09:41:15

+0

這是因爲字體重量從300到700劇烈變化。您可以嘗試將最終字體重量減小到較小值或逐漸增加。 – 2015-03-31 09:42:50

回答

2

可以使用text-shadow模仿加粗字體。這不會影響佈局。

.navlinks ul { 
 
    margin-top: 45px; 
 
    padding: 0; 
 
} 
 
.navlinks ul li { 
 
    display: inline-block; 
 
} 
 
.navlinks ul li a { 
 
    color: black; 
 
    font-weight: 300; 
 
    font-size: 1.5em; 
 
    text-decoration: none; 
 
    border-bottom: 1px dashed white; 
 
} 
 
.navlinks ul li a:hover { 
 
    text-shadow: 0 1px black, 1px 0 black, 1px 1px black; 
 
    border-bottom: none; 
 
} 
 
.navlinks ul > li:not(:first-child) { 
 
    margin-left: 30px; 
 
}
<div class="navlinks"> 
 
    <ul> 
 
    <li><a href="#">Home</a> 
 
    </li> 
 
    <li><a href="#">About us</a> 
 
    </li> 
 
    <li><a href="#">Product</a> 
 
    </li> 
 
    <li><a href="#">FAQ</a> 
 
    </li> 
 
    </ul> 
 
</div>

+0

這實際上是一個聰明的解決方案。 – Nick 2015-03-31 11:30:33