我构建了一个导航栏, 当您悬停或单击某个项目时,所选项目的背景颜色将会更改。
最后我想把角落弄圆。然后我看到有一个我无法移除的白色空间。
HTML
<nav id="nav">
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#lorem">Lorem</a></li>
<li><a href="#ipsum">Ipsum</a></li>
<li><a href="#dolor">Dolor</a></li>
</ul>
</nav>
CSS
#nav
{
position: absolute;
top: 50px;
width: 100%;
}
#nav > ul
{
padding: 0;
margin: auto;
width: 50%;
list-style: none;
display: flex;
border: 1px solid #673ab7;
border-radius: 20px;
background: #ffffff;
}
#nav ul > li
{
margin: 0;
width: 100%;
color: #673ab7;
line-height: 40px;
}
#nav ul > li > a
{
display: block;
color: inherit;
text-align: center;
text-decoration: none;
text-transform: uppercase;
letter-spacing: 2px;
transition: background 0.25s;
position: relative;
}
#nav ul > li > a:hover
{
background: #ede7f6;
}
#nav ul > li:first-child > a:hover
{
border-radius: 20px 0px 0px 20px;
}
#nav ul > li.active > a
{
border-radius: 20px 0px 0px 20px;
color: #FFFFFF;
background: #673ab7;
}
JS
$(document).ready(function()
{
$("#nav > ul > li").click(function()
{
$("#nav > ul > li").each(function()
{
$(this).removeClass("active");
});
$(this).addClass("active");
});
});
答案 0 :(得分:1)
请在ul标签中添加溢出隐藏样式
#nav > ul {
padding: 0;
margin: auto;
width: 80%;
list-style: none;
display: flex;
border: 1px solid #673ab7;
border-radius: 20px;
background: #ffffff;
overflow: hidden;
}
答案 1 :(得分:0)