0

我无法将导航栏居中,我尝试了 display:inline-block 然后像大多数帖子建议的那样对齐中心,但它似乎不起作用。

HTML:

<!--Navigation-->
<div class="band navigation">
    <nav class="container primary">
        <div class="sixteen columns">
            <ul>
                <li><a href="index.html">Home</a></li>
                <li><a href="#">About Us</a></li>
                <li><a href="#">Projects</a></li>
                <li><a href="#">Contact Us</a></li>
            </ul>
        </div>
    </nav>
</div>

CSS:

nav.primary{
  display: table;
  margin: 0 auto;
}

nav.primary ul, nav.primary ul li {
  margin: 0px;
}

nav.primary select {
  display: none;
  width:  100%;
  height: 28px;
  margin: 21px 0;
}

nav.primary ul li {
  display: inline;
  float: left;
  position: relative;
}

nav.primary ul li a {
  display: inline-block;
  line-height: 49px;
  padding:  0 14px;
  color: white;
  text-transform: uppercase;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 0.08em;
  background: ##999999;
}

nav.primary ul li a:hover {
  background: #2ecc71;
  cursor: pointer;
}
4

3 回答 3

1

好的,终于明白了:

nav.primary ul li {
display: inline;
float: left; <---
position: relative;

删除浮动:左;

由于导航是包含 div 的全宽,因此无需与浮动混淆,列表项将与 display: inline; 对齐。

于 2014-02-21T02:53:40.917 回答
0

我尝试了其他可行的方法...根据我对 Skeleton 的经验,它似乎比尝试构建自定义的东西效果更好...虽然它为 HTML 生成了一些不太漂亮的标记,但最终结果的刚性有效为了我。这是我的代码,以便您可以看到我为达到预期效果所做的工作:

<div class="row"> <div class="two columns offset-by-three"> <a href="#" class="nav">Portfolio</a> </div> <div class="two columns"> <a href="#" class="nav">About</a> </div> <div class="two columns"> <a href="#" class="nav">Contact</a> </div> </div>

您可以在这里看到的是,骨架框架允许列自然地操作并以较低的分辨率重新堆叠,而无需任何额外的代码。唯一棘手的部分是在最左边的项目上设置偏移量。

于 2016-03-19T23:15:47.257 回答
-1

您是否尝试过nav.primary ul {text-align: center;} 除了将左/右页边距保持为自动,当我使用骨架框架时,这对我有用。

于 2014-02-21T01:53:19.007 回答