Eu tenho uma #header
div que é 100% width
e dentro dessa div tenho uma lista não ordenada. Eu me inscrevi margin: 0 auto
na lista não ordenada, mas ela não será centralizada na div do cabeçalho.
Alguém pode me dizer por que? Eu pensei que, se eu definir a largura da div pai, a lista não ordenada poderá se centralizar margin: 0 auto
. o que estou perdendo?
Aqui está o meu código:
<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>
Respostas:
Você precisa definir a largura do elemento que você está centralizando, não o elemento pai.
Edit : Ok, eu vi a página de teste agora, e aqui está como eu acho que você deseja:
fonte
Um bloco embutido cobre toda a linha (da esquerda para a direita), para que uma margem esquerda e / ou direita não funcione aqui. O que você precisa é de um bloco, um bloco tem bordas à esquerda e à direita para que possa ser influenciado pelas margens.
É assim que funciona para mim:
fonte
Por que não?
fonte
Eu não sei por que a primeira resposta é o melhor, eu tentei e não funciona de fato, como @ kalys.osmonov disse, você pode dar
text-align:center
paraheader
, mas você tem que fazerul
comoinline-block
em vez deinline
, e também você tem que observar quetext-align
pode ser herdado, o que não é bom até certo ponto; portanto, a melhor maneira (não funciona abaixo do IE 9) é usarmargin
etransform
. Basta removerfloat right
emargin;0 auto
deul
, como abaixo:Dessa forma, pode-se corrigir o problema de tornar a largura dinâmica do
ul
centro se você não se importa com o IE8, etc.fonte
Podemos definir a largura para a tag ul e, em seguida, alinharemos o centro.
fonte