CSS响应菜单,以h1标题(徽标)为中心

时间:2015-10-19 16:02:20

标签: css html5 css3 responsive-design responsiveness

所以我想把一个没有图像的h1居中在我的导航中心,它有两个以上的元素,它必须有响应。我尝试了几乎所有我能找到的东西,但是...主要用背景图像工作,并且使用内嵌块我无法完美地居中。

下面我尽我所能,但悬停不起作用,可能导致h1宽度为100%;



* {
  margin: 0;
  padding: 0;
}
a {
  text-decoration: none;
  color: white;
  text-shadow: 1px 1px 1px black;
}
li {
  list-style: none;
}
header {
  margin: 0 auto;
  text-align: center;
}
ul li {
  float: left;
  display: block;
  background-color: #232323;
  width: 50%;
  padding: 10px 0 10px 0;
}
ul li:hover {
  background-color: black;
}
.logo {
  position: relative;
  top: -38px;
}

<header>
  <nav>
    <ul>
      <li><a href='#blog'>Blog</a>
      </li>
      <li><a href='#portofolio'>Portofolio</a>
      </li>
    </ul>
  </nav>
  <a href='#/' class='logo'><h1>Tao SandBox</h1></a>
</header>
&#13;
&#13;
&#13;

这必须是更好的方式!!!

http://codepen.io/taosx/pen/vNWojo?editors=110

2 个答案:

答案 0 :(得分:0)

最简单的方法就是将徽标作为菜单的一部分,如下所示:

&#13;
&#13;
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
a {
  text-decoration: none;
  color: white;
  text-shadow: 1px 1px 1px black;
}
ul {
  overflow: hidden;
}
li {
  list-style: none;
}
header {
  margin: 0 auto;
  text-align: center;
  background-color: #232323;
}
ul li {
  float: left;
  width: 33%;
  vertical-align: middle;
}
ul li:hover {
  background-color: black;
}
&#13;
<header>
  <nav>
    <ul>
      <li><a href='#blog'>Blog</a>
      </li>
      <li><a href='#/' class='logo'><h1>Tao SandBox</h1></a>
      </li>
      <li><a href='#portofolio'>Portofolio</a>
      </li>
    </ul>
  </nav>
</header>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

http://codepen.io/anon/pen/OyOKrN

让h1使用.logo类。然后设置绝对位置并居中。

 .logo {
    position:absolute;
    top:0;
    left:0;
   right:0;
   text-align:center;
 }

我还建议在导航之前添加h1标记,以保持更好的语义流。

    <header>

    <nav>
      <h1 class='logo'><a href='#/' >Tao SandBox</a></h1>
      <ul>
            <li><a href='#blog'>Blog</a></li>
            <li><a href='#portofolio'>Portofolio</a></li>
        </ul>
    </nav>

</header>