最好的方法是:
将 ul 包裹在一个新的 div id="topmenu" 或类似的东西中,然后给它以下样式
bottom:0;
position:absolute;
width:780px;
并给 ul.menu 这个
margin:0 auto;
width:535px;
这里唯一的问题是您正在设置菜单列表的宽度,因此如果菜单项的宽度发生变化,也需要在 CSS 文件中进行更改(即,如果添加了新的菜单项。
更新:刚刚注意到您上面关于不手动设置宽度的评论。如果您愿意使用一点点 javascript,您可以将其粘贴在 document ready 块中并删除width: 535px;
var sum = 0; jQuery('.menu').children().each(function() { sum += jQuery(this).outerWidth(); }); jQuery('.menu').css('width', sum + 30);
一旦页面加载,这会将 css width 属性设置为实际呈现的宽度,因此布局将起作用。
完整的 HTML 如下:
<div id="header">
<h1 class="blog-title"><a href="http://www.hootingyard.org/" accesskey="1">Hooting Yard</a></h1>
<p class="description">A Website by Frank Key</p>
<div id="topmenu">
<ul class="menu">
<li class="current_page_item"><a href="http://www.hootingyard.org/" title="Prose, etc">Prose, etc</a></li>
<li class="page_item page-item-533"><a href="http://www.hootingyard.org/archivepage" title="Archives">Archives</a></li>
<li class="page_item page-item-534"><a href="http://www.hootingyard.org/books" title="Books">Books</a></li>
<li class="page_item page-item-551"><a href="http://www.hootingyard.org/regarding-mr-key" title="Regarding Mr Key">Regarding Mr Key</a></li>
<li class="page_item page-item-1186"><a href="http://www.hootingyard.org/subscriptions" title="Subscriptions">Subscriptions</a></li>
<li class="admintab"><a href="http://www.hootingyard.org/wp-login.php?action=register">Register</a></li>
</ul>
</div>
</div>