【发布时间】:2014-01-18 19:01:07
【问题描述】:
我正在尝试将 ul div 置于标题 div 的中心。
HTML 代码:
<header>
<h1>Responsive HTML5</h1>
<p>This is a demo</p>
<nav>
<ul>
<li><a href="javascript:void(0)">Home</a></l1>
<li><a href="Javascript:void(0)">About</a></l1>
<li><a href="Javascript:void(0)">Services</a></l1>
<li><a href="Javascript:void(0)">Contact</a></l1>
</ul>
</nav>
</header>
CSS 代码
这是媒体查询的 css 代码,基本布局一切正常,但无法使用此代码。
@media screen and (max-width: 932px){
header{position: static; overflow: hidden; background-color: #666;}
header h1, header p{text-align: center;}
nav{float:left; position: static; padding: 1px;}
nav ul{width: 60%; margin: 0 auto;}
}
【问题讨论】:
-
您正在尝试使宽度为
100%的元素居中。减小宽度。 -
您遇到了问题,因为无论您做什么,文本都向左对齐。你需要像文本对齐这样的东西。您可以像 JoshC 所说的那样减小宽度,但这不会那么灵活。看看这个jsfiddle。 jsfiddle.net/F2Eza 编辑:jsfiddle.net/F2Eza 用于 JoshC 的解决方案。这不太灵活,但可以让您的项目符号一致。
-
我粘贴的代码宽度错误,否则为 60%,我已更新。
-
如果你删除浮动:左;从导航 CSS,你会得到它半居中。它仍然会偏斜,因为它以 60% 的宽度而不是文本的宽度居中 - 你可以在这里看到这一点 jsfiddle.net/9U7yR 将导航 ul 的宽度设置为更合适的设置以包裹文本将使其居中。跨度>