【发布时间】:2018-02-27 06:36:17
【问题描述】:
我有一个正在尝试创建的导航栏。它的左边有文字,右边有文字。中间是一张图。我正在使用 flexbox 来创建这个导航栏。我的图像居中,文本在左右。但是,每次我尝试在文本上使用边距或填充添加间距时,图像本身都会移动并且不再居中。
HTML
<header>
<div class="header_container">
<ul class="nav_menu">
<li class="nav_text">Support</li>
<li class="nav_text">Forum</li>
<li class="nav_text">Live Chat</li>
<li class="header_logo">
</li>
<li class="auth_btns">Login</li>
<li class="auth_btns">Sign Up</li>
</ul>
</div>
</header>
CSS
header{
width: 100%;
height: 60px;
background-color: white;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2), 0 0 10px 0 rgba(0, 0, 0, 0.19);
}
.header_container{
width: 90%;
margin: 0 auto;
}
.nav_menu{
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
align-items: center;
list-style: none;
padding: 0;
}
.nav_text{
margin-right: 20px;
}
.header_logo{
margin: 0 auto;
width: 200px;
height: 60px;
background: url("https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png") no-repeat;
background-size: 200px 60px;
}
我试图在 .nav_text 上设置一个边距,但每次我这样做时,徽标图像都会随之移动,并且不再居中。我怎样才能解决这个问题?这是jsfiddle
【问题讨论】:
-
它只是对齐中心。我没有发现任何区别。
-
@SureshPonnukalai 如果您使用 nav_text 更改边距,您将看到徽标在移动
-
在下面给出我的答案。
-
我可以为我的解决方案修改您的 HTML 吗?
-
@omukiguy 当然可以