我有一个#headerdiv,100% width在该div内,我有一个无序列表。我已将其应用于margin: 0 auto无序列表,但不会在标头div中居中。
#header
100% width
margin: 0 auto
有人可以告诉我为什么吗?我认为,如果我定义父div的宽度,那么无序列表应该能够以居中margin: 0 auto。我想念什么?
这是我的代码:
<style> * { margin: 0; padding: 0; } #header { width: 100%; background-color: #333; min-height: 160px; font-family:Arial, Helvetica, sans-serif; } #sitename { font-size: 50px; width: 620px; margin:0 auto; padding-top: 35px; color:#999; } #header ul { float: right; margin: 0 auto; } #header ul li { float: left; padding-right: 20px; list-style-type: none; font-size: 20px; } </style> </head> <body> <div id="header"> <h1 id="sitename">Photography Auction Site</h1> <ul> <li>List of Photos</li> <li>Image Gallery</li> <li>Contact Us</li> </ul> </div> </body> </html>
您需要定义要居中的元素的宽度,而不是父元素。
#header ul { margin: 0 auto; width: 90%; }
编辑 :好的,我现在已经看到了测试页,这就是我认为您想要的:
#header ul { list-style:none; margin:0 auto; width:90%; } /* Remove the float: left; property, it interferes with display: inline and * causes problems. (float: left; makes the element implicitly a block-level * element. It is still good to use display: inline on it to overcome a bug * in IE6 and below that doubles horizontal margins for floated elements) * The styles below is the full style for the list-items. */ #header ul li { color:#CCCCCC; display:inline; font-size:20px; padding-right:20px; }