2015-03-31 67 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