中心响应导航

时间:2013-05-30 18:11:55

标签: html css responsive-design

我正试图将导航放在响应式设计中。当视口拉伸到大约900px时,3个导航标题会偏离页面上其余内容的中心。有没有办法解决这个问题?

HTML:

<header>

  <div id="logo">
    <a href="#">
      <img src="images/logo_55x73.png" alt="StudioMed" />
    </a>
  </div>

    <nav>
    <ul>
      <li><a href="#">Work</a></li>
      <li><a href="#">Profile</a></li>
      <li><a href="#">Journal</a></li>
    </ul>
  </nav>

</header>

CSS:

header {
    background-color: #fff; 
    border-bottom: solid 1px #e4e4e4;
}

#logo {
    padding: 2.3em 1.1em 1.7em 1.1em;
    text-align: center;
}

nav {
    display: block;
}

nav ul {
    text-align: center; 
}

nav li {
    font-size: 0.95em;
    display: inline;
    text-transform: uppercase;
    letter-spacing: 0.06em; 
    padding: 0 1%;
}

nav a {
    text-decoration: none;
    display: inline-block;
    width: 122px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

@media only screen and (min-width:767px) {

    header {
        float: left;
        overflow: auto;
        width: 100%;
    }

    #logo {
        float: left;
        width: 10%;
    }

    nav ul li {
        float: left;
        width: 22.1354166666667%;
        margin-top: 50px;
        font-size: 1em;
    }
}

提前致谢

1 个答案:

答案 0 :(得分:2)

您的UL左侧可能有一些默认填充。 尝试将此添加到您的CSS:

nav ul {
  ...
  padding: 0px;
}

http://jsfiddle.net/cxNZZ/


修改

上面的填充问题似乎没有解决你的问题。
这是一个不同的理论:

每个LI的宽度相同,但每个LI内的文本可能不是。这可能导致菜单看起来偏离中心,即使LI居中也是如此。

LIs with equal widths

http://jsfiddle.net/d6hRg/1/

LIs with variable widths, depending on content

http://jsfiddle.net/d6hRg/2/

明白我的意思?