Search code examples
htmlcssmenualignmentcentering

css3, cannot put a div centralized


I cannot put my menu in the center of the page, i've inserted all "margin: 0 auto;" i can and all "text-align: center", and the div is separated from everything, is not a child of something else.. here's the css code:

.more{
margin: 0 auto;
position:relative;
clear:both;
font-size: 13px;
padding: 20px 0px;
text-transform: uppercase;
width: 40%;
height: 20%;
}
.more ul{
display:block;
text-align:center;
}
.more ul li{
display: block;
padding: 10px 3px;
float:left;
}
.more ul li.selected a,
.more ul li.selected a:hover{
background:#0099c5;
color:#fff;
text-shadow:none;
font-weight:bold;
}
.more ul li a{
color:#555;
float:left;
background:#fff;
width: 100%;
padding: 8px 10px;
-moz-box-shadow:1px 1px 2px #aaa;
-webkit-box-shadow:1px 1px 2px #aaa;
box-shadow:1px 1px 2px #aaa;
}
.more ul li a:hover{
background:#000;
color:#fff;
}

And here's the HTML code:

             <div class="more">
                <ul>
                    <li class="selected"><a href="#">Homepage Blog</a></li>
                    <li><a href="#1">Cerca</a></li>
                    <li><a href="#2">Archivio</a></li>
                    <li><a href="#3">Tags</a></li>
                </ul>
            </div>

How-to make the div permanently in the center of my page? I've tried lot, lot, lot of possible moves.

Thank you.

p.s. I've also tried to put a <div align=center> ...my menu (class=more) list ...</div>


Solution

  • Remember that you can't use margin:0 auto on floatted element.

    Keys for margin 0 auto are:

    1) element must have display:block 2) no float, absolute or fixed position

    .more{
    float:left;
    clear:both;
    font-size: 13px;
    padding: 20px 0px;
    text-transform: uppercase;
    width: 100%;
    height: 20%;
    }
    .more ul{
    display:block;
    text-align:center;
    margin:0 auto;
    }
    .more ul li{
    display: inline-block;
    padding: 10px 3px;
    }
    .more ul li.selected a,
    .more ul li.selected a:hover{
    background:#0099c5;
    color:#fff;
    text-shadow:none;
    font-weight:bold;
    }
    .more ul li a{
    color:#555;
    background:#fff;
    width: 100%;
    padding: 8px 10px;
    -moz-box-shadow:1px 1px 2px #aaa;
    -webkit-box-shadow:1px 1px 2px #aaa;
    box-shadow:1px 1px 2px #aaa;
    }
    .more ul li a:hover{
    background:#000;
    color:#fff;
    }