无序列表项目彼此不对齐
unordered list items not aligning to each other
我有这段代码可以在网站顶部创建一个粘性导航栏:
#navigation-bar {
list-style-type: none;
margin: 0;
padding: 0;
background-color: rgb(225, 151, 77, 0.95);
overflow: hidden;
position: sticky;
top: 0;
}
#navigation-bar li {
float: left;
}
#navigation-bar li a {
color: white;
padding: 5px;
text-decoration: none;
display: block;
text-align: center;
font-family: sans-serif;
}
#navigation-bar li a:hover {
background-color: red;
color: rgb(225, 151, 77);
}
header {
position: sticky;
top: 0;
}
#navigation-home-logo {
height: 50px;
padding: 0;
margin: 0;
}
<header>
<nav>
<ul id="navigation-bar">
<li><a href=""><img id="navigation-home-logo" src=""></a></li>
<li><a href="">INSTAGRAM</a></li>
<li><a href="">TIKTOK</a></li>
<li><a href="">TWITTER</a></li>
<li><a href="">YOUTUBE</a></li>
</ul>
</nav>
</header>
我不明白为什么其他链接没有与图像垂直对齐,我尝试将图像填充和边距设置为 0,但是没有用,我不知道问题出在哪里
发生这种情况是因为 display: block
就是这样工作的,您可以使用 Flex 来做到这一点。喜欢:
#navigation-bar {
list-style-type: none;
margin: 0;
padding: 0;
background-color: rgb(225, 151, 77, 0.95);
overflow: hidden;
position: sticky;
top: 0;
display: flex;
align-items: center;
}
#navigation-bar li {
float: left;
}
#navigation-bar li a {
color: white;
padding: 5px;
text-decoration: none;
display: block;
text-align: center;
font-family: sans-serif;
}
#navigation-bar li a:hover {
background-color: red;
color: rgb(225, 151, 77);
}
header {
position: sticky;
top: 0;
}
#navigation-home-logo {
height: 50px;
padding: 0;
margin: 0;
}
<header>
<nav>
<ul id="navigation-bar">
<li><a href=""><img id="navigation-home-logo" src="https://picsum.photos/200"></a></li>
<li><a href="">INSTAGRAM</a></li>
<li><a href="">TIKTOK</a></li>
<li><a href="">TWITTER</a></li>
<li><a href="">YOUTUBE</a></li>
</ul>
</nav>
</header>
您可以尝试在导航元素中使用 display:block 而不是特定的链接,因为显示块会应用到您要应用它的元素内的所有元素:
nav{
display: block;
}
我有这段代码可以在网站顶部创建一个粘性导航栏:
#navigation-bar {
list-style-type: none;
margin: 0;
padding: 0;
background-color: rgb(225, 151, 77, 0.95);
overflow: hidden;
position: sticky;
top: 0;
}
#navigation-bar li {
float: left;
}
#navigation-bar li a {
color: white;
padding: 5px;
text-decoration: none;
display: block;
text-align: center;
font-family: sans-serif;
}
#navigation-bar li a:hover {
background-color: red;
color: rgb(225, 151, 77);
}
header {
position: sticky;
top: 0;
}
#navigation-home-logo {
height: 50px;
padding: 0;
margin: 0;
}
<header>
<nav>
<ul id="navigation-bar">
<li><a href=""><img id="navigation-home-logo" src=""></a></li>
<li><a href="">INSTAGRAM</a></li>
<li><a href="">TIKTOK</a></li>
<li><a href="">TWITTER</a></li>
<li><a href="">YOUTUBE</a></li>
</ul>
</nav>
</header>
我不明白为什么其他链接没有与图像垂直对齐,我尝试将图像填充和边距设置为 0,但是没有用,我不知道问题出在哪里
发生这种情况是因为 display: block
就是这样工作的,您可以使用 Flex 来做到这一点。喜欢:
#navigation-bar {
list-style-type: none;
margin: 0;
padding: 0;
background-color: rgb(225, 151, 77, 0.95);
overflow: hidden;
position: sticky;
top: 0;
display: flex;
align-items: center;
}
#navigation-bar li {
float: left;
}
#navigation-bar li a {
color: white;
padding: 5px;
text-decoration: none;
display: block;
text-align: center;
font-family: sans-serif;
}
#navigation-bar li a:hover {
background-color: red;
color: rgb(225, 151, 77);
}
header {
position: sticky;
top: 0;
}
#navigation-home-logo {
height: 50px;
padding: 0;
margin: 0;
}
<header>
<nav>
<ul id="navigation-bar">
<li><a href=""><img id="navigation-home-logo" src="https://picsum.photos/200"></a></li>
<li><a href="">INSTAGRAM</a></li>
<li><a href="">TIKTOK</a></li>
<li><a href="">TWITTER</a></li>
<li><a href="">YOUTUBE</a></li>
</ul>
</nav>
</header>
您可以尝试在导航元素中使用 display:block 而不是特定的链接,因为显示块会应用到您要应用它的元素内的所有元素:
nav{
display: block;
}