由于某些原因,我的一个列表元素比其余元素低1个像素,即使它们都具有相同的高度。您将看到包含图像和用户名的列表元素比其余部分低1个像素。我在我的CSS中尝试了很多,似乎没有解决这个问题所以它可能是我不完全理解的东西。
HTML5
<section class="header">
<div class="wrapper">
<nav class="navigation">
<ul>
<li><a href="{{ route('home') }}">Images</a></li>
<li><a href="{{ route('albums') }}">Albums</a></li>
<li><a href="{{ route('tags') }}">Tags</a></li>
@auth
<li><a href="{{ route('upload') }}">Upload</a></li>
<li class='logOut'><a href="{{ route('logout') }}">Logout</a></li>
<li class='navUsernameLi'><img class='navProfilePicture' src='{{url("storage/uploads/profile_pictures/".Auth::user()->profile_picture)}}'><p class='navUsernameP'>{{ Auth::user()->username }}</p></li>
@endauth
@guest
<li id='signUp'>Sign Up</li>
<li id="logIn">Log In</li>
@endguest
<li><a href="{{ route('contact') }}">Contact Us</a></li>
@auth
@if (Auth::user()->hasRole('Admin'))
<li><a href="{{ route('admin') }}">Admin Panel</a></li>
@endif
@endauth
</ul>
</nav>
</div>
</section>
CSS3
.navigation {
height: 50px;
width: 100%;
background-color: #151719;
}
.navigation > ul {
display: inline;
list-style-type: none;
margin: 0;
padding: 0;
}
.navigation > ul li {
display: inline-block;
}
.navigation > ul li a {
font-size: 16px;
display: block;
color: #fff;
padding: 0 0px 0;
text-align: center;
vertical-align: middle;
line-height: 50px;
text-decoration: none;
white-space: nowrap;
}
.navUsernameLi {
float: right;
}
.navUsernameP {
display: inline-block;
color: white;
}
.navProfilePicture {
display: inline-block;
border-radius: 50px;
}
.navUsernameLi {
float: right;
text-align: center;
vertical-align: middle;
line-height: 50px;
height: 50px;
}
.navUsernameP {
display: inline-block;
color: #fff;
text-align: center;
vertical-align: middle;
line-height: 50px;
}
.navProfilePicture {
display: inline-block;
border-radius: 50px;
height: 24px;
width: 24px;
text-align: center;
vertical-align: middle;
line-height: 50px;
}
如果有人想亲眼看到这个网站 - http://www.onyx.space/。使用Admin登录用户名和密码。您将看到包含图像和用户名的列表元素比其余部分低1个像素。
答案 0 :(得分:2)
您的问题是由line-height: 50px;
的{{1}}生成的,将其删除后会对齐:
.navUsernameLi
已经有.navUsernameLi {
float: right;
text-align: center;
vertical-align: middle;
/*line-height: 50px;*/
height: 50px;
}
就足够了,行高会覆盖元素的定位方面。