CSS以h1标题(徽标)为中心的响应式菜单集中

问题描述:

所以我想将一个没有图像的h1居中放置在我的导航中心,该导航有两个元素,它必须是响应式的。我尝试了几乎所有我能找到的东西,但是......主要用于背景图片,而使用内嵌块我无法将其完美居中。CSS以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>

它必须是一个更好的办法!

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

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

充分利用H1使用。标志类。然后设置绝对位置并居中。

.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> 
+0

谢谢! :D你真正的mvp! – TaoJS

+0

如果您担心背景悬停的颜色,可以解决该问题。我的第一个尝试是将.logo放入显示:block;然后定义宽度,高度和背景颜色并使用边距:0 auto;我只是更新了codepen – bingo

最简单的方法就是使菜单的logo`部分,像这样:

* { 
 
    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; 
 
}
<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>

+0

谢谢,但我需要h1更灵活,不会中断导航栏的结构。例如,我想将它缩小为10px,因此它在导航之外一半,并为其添加一些css3动画。 – TaoJS

+0

您可能必须将其定位,但它可能不会非常敏感,因为您必须在其中硬编码一些边距。 –