我正在学习教程,但想先自己尝试一下。问题在于,在链接上使用鼠标悬停时,背景颜色更改会触及导航栏的最顶部,而不会触及导航条的底部。
margin-top
在显示设置为嵌入式时不起作用,并且我尝试了填充和类似的解决方案。这是我的代码:
*{
padding: 0;
margin:0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.logo .text-primary {
color: #85b84b;
}
a:hover{
background: #85b84b;
border-radius: 5px;
}
nav{
background: #444;
color: #f4f4f4;
display: flex;
justify-content: space-between;
text-align: center;
padding: 1rem;
}
nav li{
list-style: none;
display: inline;
padding: 1rem;
}
nav a{
text-decoration: none;
color: #f4f4f4;
padding: 1rem;
}
其html代码为:
<nav>
<h1 class="logo">
<span class="text-primary">
<i class="fas fa-book-open"></i> Edge</span>Ledger
</h1>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">What</a></li>
<li><a href="#">Who</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
答案 0 :(得分:1)
margin-top
和margin-bottom
对内联元素不起作用。尝试将显示更改为inline-block
,以垂直(上,下)提供边距或填充。
答案 1 :(得分:0)
<style>
ul#menu
{
margin: 0 0 5px;
padding: 0;
text-align: right;
float: right;
}
ul#menu li
{
float: left;
list-style: none;
padding-left: 15px;
}
</style>
<nav>
<h1 class="logo">
<span >
<i ></i> Edge</span>Ledger
</h1>
<ul id="menu">
<li><a href="#">Home</a></li>
<li><a href="#">What</a></li>
<li><a href="#">Who</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
试试这个对我有用的。使用float
属性
答案 2 :(得分:0)
您只需要使align-items:center
就能使事物居中。
*{
padding: 0;
margin:0;
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.logo .text-primary {
color: #85b84b;
}
a:hover{
background: #85b84b;
border-radius: 5px;
}
nav{
background: #444;
color: #f4f4f4;
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem;
}
nav li{
list-style: none;
display: inline;
padding: 1rem;
}
nav a{
text-decoration: none;
color: #f4f4f4;
padding: 1rem;
}
<nav>
<h1 class="logo">
<span class="text-primary">
<i class="fas fa-book-open"></i> Edge</span>Ledger
</h1>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">What</a></li>
<li><a href="#">Who</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>