CSS центрирование встроенной навигации

У меня возникла проблема с центрированием навигационного меню, которое я создал для своего класса, я пробовал все выравнивание текста, margin-left/margin-rgiht, центрирование его в html и т. д. Каждый сайт, который я нахожу, сообщает мне margin-left:auto; и правое поле: авто; но это не работает. Вот меню, которое мне нужно автоматически центрировать по странице.

    <div class="menu">
<ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="artwork.html">Artwork</a>
        <ul>
            <li><a href="#">Pencil</a></li>
            <li><a href="#">Pastel</a></li>
            <li><a href="#">Color Pencil</a></li>
            <li><a href="#">Charcoal</a></li>
            <li><a href="#">Digital</a></li>
        </ul>
    </li>
    <li><a href="#">Projects</a>
        <ul>
            <li><a href="#">74 Duster</a></li>
            <li><a href="#">The "Beast"</a></li>
            <li><a href="#">Darkness and Hope</a></li>
        </ul>
    </li>
    <li><a href="#">About</a>
        <ul>
            <li><a href="#">Who I am and why it matters</a></li>
            <li><a href="#">Contact Me</a></li>
        </ul>
    </li>
</ul>
</div>

И вот CSS для него:

.menu {
margin-right:auto;
margin-left:auto;
max-width:700px;
display:inline-block;
padding:0px;
font-size:14px;
font-weight:bold;
text-align:center;
}

.menu ul {
width:700px;
background:#333333;
height:35px;
list-style:none;
margin:0;
padding:0;
text-align:center;
}

.menu li {
width:175px;
text-align:center;
float:left;
padding:0px;
}

.menu li a {
background:#333333;
color:#cccccc;
display:block;
font-weight:normal;
line-height:35px;
margin:0px;
padding:0px 25px;
text-align:center;
text-decoration:none;
}

.menu li a:hover, .menu ul li:hover a {
background: #2580a2;
color:#FFFFFF;
text-decoration:none;
}

.menu li ul {
display:none;
height:auto;
padding:0px;
margin:0px;
border:0px;
position:absolute;
width:175px;
z-index:200;
}

.menu li:hover ul {
display:block;

}

.menu li li {
display:block;
float:none;
margin:0px;
padding:0px;
width:175px;
}

.menu li:hover li a {
background:none;
}

.menu li ul a {
display:block;
height:35px;
font-size:12px;
font-style:normal;
margin:0px;
padding:0px 10px 0px 15px;
text-align:left;
}

.menu li ul a:hover, .menu li ul li:hover a {
background:#2580a2;
border:0px;
color:#FFFFFF;
text-decoration:none;
}

Любая помощь будет высоко оценена, или если вы знаете способ центрировать всю веб-страницу и масштабировать контент до разрешения зрителей, это было бы здорово.


person Fractal Fear    schedule 16.04.2013    source источник


Ответы (1)


Измените display .menu с inline-block на block.

person searlea    schedule 16.04.2013
comment
кроме того, вы можете просто сделать это margin:0 auto;. нет необходимости делать код длиннее, чем это необходимо. jsFiddle решения => jsfiddle.net/7bMxc - person PlantTheIdea; 16.04.2013
comment
Святая корова, так просто, не могу поверить, что я пропустил это! есть ли способ масштабировать всю страницу, включая навигацию по меню? - person Fractal Fear; 16.04.2013