我有一个包含3个部分的导航栏:
我希望它看起来像这样,徽标左对齐,搜索栏左边填充,分组链接在右边:
如果我尝试将组浮动到右侧,则它们不会垂直对齐到中间。
<nav>
<a class='logo-link' href="#">Example</a>
<div class="search">
<form accept-charset="UTF-8" action="/search" method="get">
<div style="margin:0;padding:0;display:inline"></div>
<input class="main_search" type="text" />
<input class="inline_search" type="submit" value="Search" />
</form>
</div>
<div>
<div class="anchorLink">
<a href="#">Blog</a>
</div>
<div class="anchorLink">
<a href="#">Login</a>
</div>
<div class="anchorLink">
<a href="#">Register</a>
</div>
</div>
</nav>
我已附上fiddle of an example。
答案 0 :(得分:0)
您可以使用display
属性,尝试display:inline-block
代替float
并设置.search
类样式,如下所示:
CSS
.search {
margin: 0 auto;
max-width: 90%;
padding-top: 0;
display: inline-block;
padding-left: 10em; /* Reduce padding
font-size: 0.75em;
}
添加了CSS类
.nav--list{
display:inline-block;
}
答案 1 :(得分:0)
您可以使用
text-align:justify;
+ display:inline-block;
DEMO ,然后您可以使用:vertical-align:middle;
将您的元素与彼此的中间对齐 {{ 3}}
或
display:flex;
+ justify-content:space:between;
DEMO bis 然后您可以使用margin:auto;
以两个轴为中心 DEMO2 强>
答案 2 :(得分:0)
有效的方法:
<强> HTML 强>
<div id="header">
<ul>
<li><div>logo area</div></li>
<li><div>search area</div></li>
<li><div>other area</div></li>
</ul>
</div>
<强> CSS:强>
#header ul li{
list-style:none;
display: inline;
padding-left:20%;
}
注意:强> 不同的“显示”选项会为您提供不同的元素装饰。在这里,display:inline会使显示垂直。
在此处查看W3schools课程,以便进一步了解:http://www.w3schools.com/css/css_display_visibility.asp
答案 3 :(得分:0)
如果要将锚链接对齐到布局右侧,则应
HTML
<nav>
<div class="logo">
<a class="logo-link" href="#">Example</a>
</div>
<div class="search">
<form accept-charset="UTF-8" action="/search" method="get">
<input class="main_search" type="text" />
<input class="inline_search" type="submit" value="Search" />
</form>
</div>
<ul class="anchorLinks">
<li><a href="#">Blog</a></li>
<li><a href="#">Login</a></li>
<li><a href="#">Register</a></li>
</ul>
</nav>
CSS
nav {
background-color:#EEE;
height:25px;
padding:10px;
}
.logo {
float:left;
padding-right:20px;
}
.search {
float:left;
}
ul.anchorLinks {
float:right;
margin:0;
padding:0;
list-style-type:none;
}
ul.anchorLinks li {
float:left;
padding:0px 5px;
}
请参阅jsfiddle此处