【发布时间】:2017-07-25 01:04:37
【问题描述】:
我正在尝试制作一个带有边框底部的导航栏作为悬停效果,其目的是跟随用户鼠标悬停并突出显示该项目。但是,边框底部包括其父级的填充,我不喜欢。使用padding: 0px; 不行。
这是我到目前为止所得到的,请耐心等待,因为我对 HTML 和 CSS 还很陌生,这是我第一次制作网站:
*{
padding: 0px;
margin: 0px;
}
#navdiv ul {
width: 100%;
height: 80px;
line-height: 80px;
vertical-align: middle;
background: #333;
margin-top: 5px;
}
#container {
margin-left: 200px;
margin-right: 200px;
}
#navdiv ul a {
width: 80%;
text-decoration: none;
color: #f2f2f2;
padding: 15px;
font-size: 16px;
}
#navdiv ul li {
height: 63px;
list-style-type: none;
float: right;
}
#navdiv ul li:hover {
border-bottom: 5px solid #FF9933;
transition: all 0.3s ease-in-out;
}
#highlight {
display: inline-block;
line-height: 1em;
padding: 0;
border-bottom: 5px solid #FF9933;
}
#navdiv img {
width: auto;
height: auto;
max-width: 100%;
max-height: 60px;
vertical-align: middle;
}
<nav>
<div id="Maindiv">
<div id="navdiv">
<ul>
<div id="container">
<a href="../index.html"><img src="../img/menu-logo.png" alt="Menu Logo"></a>
<li><a href="../item4/index.html">Item 4</a></li>
<li><a href="../item3/index.html">Item 3</a></li>
<li><a href="../item2/index.html">Item 2</a></li>
<li><a href="../item1/index.html" id="highlight">Item 1</a></li>
</div>
</ul>
</div>
</div>
</nav>
如您所见,橙色边框底部采用“Item 1”填充,这使得边框底部大于其内容,我觉得它很难看,我想修复它。
同时,有没有办法让底部边框动画从左到右?如果是这样,是否还有一种方法可以让它“聪明”到足以知道如果用户的光标来自项目的左侧,它应该从“左到右”进行动画处理,如果光标来自右侧,则对其进行动画处理相应地“从右到左”?
我也想让它跟随用户光标,而不是在离开上一个项目后立即消失并在下一个项目悬停后立即出现。
很抱歉,这篇文章很长,我在使用谷歌进行故障排除时遇到了很多问题,但我所知道的知识很少。
非常感谢! - 凯。
【问题讨论】: