Переместить навигацию в центр [дублировать]

0

Работая на странице html/css и обнаружив классную навигационную панель, которую я загрузил и отредактировал. Но проблема заключается в том, чтобы поместить навигацию в центр заголовка. Вот как это выглядит сейчас:

https://www.dropbox.com/s/20viph17tc36iwb/header.png

index.html

<ul id="nav">
    <li><a href="#"><img src="images/home.png" /> Forside</a></li>
    <li><a href="#"><span><img src="images/temperatur.png" /> Måling</span></a></li>
    <li><a href="#"><span><img src="images/sol.png" /> Dagvakt</span></a></li>
    <li><a href="#"><img src="images/kveld.png" /> Kveldsvakt</a></li>
    <li><a href="#"><img src="images/vaske.png" /> Kontroll CM</a></li>
    <li><a href="#"><img src="images/søk.png" /> Søk</a></li>
    <li><a href="#"><img src="images/top2.png" /> Statistikk</a></li>
    <li><a href="#"><img src="images/top3.png" /> Rapport</a></li>
</ul>

menu.css

ul#nav {
    display:block;
    float:left;
    font-family:Trebuchet MS,sans-serif;
    font-size:0;
    padding:5px 5px 5px 0;

    background: -moz-linear-gradient(#f5f5f5, #c4c4c4); /* FF 3.6+ */  
    background: -ms-linear-gradient(#f5f5f5, #c4c4c4); /* IE10 */  
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #c4c4c4)); /* Safari 4+, Chrome 2+ */  
    background: -webkit-linear-gradient(#f5f5f5, #c4c4c4); /* Safari 5.1+, Chrome 10+ */  
    background: -o-linear-gradient(#f5f5f5, #c4c4c4); /* Opera 11.10 */  
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#c4c4c4'); /* IE6 & IE7 */  
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#c4c4c4')"; /* IE8+ */  
    background: linear-gradient(#F2F2F2, f5f5f5); /* the standard - Farge */ 
}
ul#nav,ul#nav ul {
    list-style:none;
    margin:0;
}
ul#nav,ul#nav .subs {
    background-color:#444;
    border:0px solid #454545; /* Border */

    border-radius:9px;
    -moz-border-radius:9px;
    -webkit-border-radius:9px;
}
ul#nav .subs {
    background-color:#fff;
    border:2px solid #222;
    display:none;
    float:left;
    left:0;
    padding:0 6px 6px;
    position:absolute;
    top:100%;
    width:300px;

    border-radius:7px;
    -moz-border-radius:7px;
    -webkit-border-radius:7px;
}
ul#nav li:hover>* {
    display:block;
}
ul#nav li:hover {
    position:relative;
}
ul#nav ul .subs {
    left:100%;
    position:absolute;
    top:0;
}
ul#nav ul {
    padding:0 5px 5px;
}
ul#nav .col {
    float:left;
    width:50%;
}
ul#nav li {
    display:block;
    float:left;
    font-size:0;
    white-space:nowrap;
}
ul#nav>li,ul#nav li {
    margin:0 0 0 5px;
}
ul#nav ul>li {
    margin:5px 0 0;
}
ul#nav a:active,ul#nav a:focus {
    outline-style:none;
}
ul#nav a {
    border-style:none;
    border-width:0;
    color:#181818;
    cursor:pointer;
    display:block;
    font-size:13px;
    font-weight:bold;
    padding:8px 18px;
    text-align:left;
    text-decoration:none;
    text-shadow:#fff 0 1px 1px;
    vertical-align:middle;
}
ul#nav ul li {
    float:none;
    margin:6px 0 0;
}
ul#nav ul a {
    background-color:#fff;
    border-color:#efefef;
    border-style:solid;
    border-width:0 0 1px;
    color:#000;
    font-size:11px;
    padding:4px;
    text-align:left;
    text-decoration:none;
    text-shadow:#fff 0 0 0;

    border-radius:0;
    -moz-border-radius:0;
    -webkit-border-radius:0;
}
ul#nav li:hover>a {
    border-style:none;
    color:#fff;
    font-size:13px;
    font-weight:bold;
    text-decoration:none;
    text-shadow:#181818 0 1px 1px;
}
ul#nav img {
    border:none;
    margin-right:8px;
    vertical-align:middle;
}
ul#nav span {
    background-position:right center;
    background-repeat:no-repeat;
    display:block;
    overflow:visible;
    padding-right:0;
}

ul#nav ul li:hover>a {
    border-color:#444;
    border-style:solid;
    color:#444;
    font-size:11px;
    text-decoration:none;
    text-shadow:#fff 0 0 0;
}
ul#nav > li >a {
    background-color:transpa;
    height:25px;
    line-height:25px;

    border-radius:11px;
    -moz-border-radius:11px;
    -webkit-border-radius:11px;
}
ul#nav > li:hover > a {
    background-color: #009900;
    line-height:25px;
}

design.css

#logo { 
    position: fixed;
    left: 10px;
    right: 0 px;
    top: 0px;
}

.header {
    height: 95px;
    background:#F2F2F2;
    border:2px solid #CCC;
    width:1370px;
    margin: 0px auto;
}
  • 0
    JSfiddle, пожалуйста. Вы пытаетесь центрировать все меню по центру или хотите, чтобы пункты списка также центрировались? Это на самом деле две разные вещи.
Теги:

3 ответа

1
Лучший ответ

Там немного больше.

Вы должны предварительно определить ширину вашего тела для своего элемента (nav в этом случае), чтобы фактически принять маржу.

убедитесь, что у вас есть это, прежде чем применять маржу

html {
   width: 100%;
}
body {
   width: 1200px; /* change this to whatever width you are working with */
   margin: 0 auto;
}

Если вы этого не сделаете, ваша маржа: 0 auto на вашем навигаторе будет центрировать его слева, давая вид, что он не работает.

РЕДАКТИРОВАТЬ

Вы должны потратить некоторое время на создание базовых htmls и изучить основы архитектуры веб-сайта. Я ценю вашу страсть, я был таким же образом, когда я начал много лет назад, когда HTML был проще, но, поверьте мне, веб-разработка за последние 10 лет получила много мышц. Начинайте снизу вверх, когда вы начинаете доминировать над концепциями.

Вот JSFiddle для вашего рабочего решения.

JSFiddle

  • 0
    Мой заголовок застрял в нижней части.
  • 0
    У вас есть этот сайт в домене, который я могу проверить? возможно, поместите весь соответствующий код в jsfiddle и сообщите нам. Единственное, что я могу подумать, что отправит его на дно, это если бы вы не дали ему высоту: auto для вашего тела, и это предположение.
Показать ещё 12 комментариев
2

Используйте свойство margin.

ul {
    margin: 0 auto 0 auto;
}

auto означает, что он будет центрирован с обеих сторон.

  • 0
    Который будет располагаться в центре меню, но, вероятно, не в списке пунктов внутри него.
  • 0
    пункты списка должны также центрироваться, если задана позиция: я думаю, что абсолютная
Показать ещё 7 комментариев
1

Просто добавьте margin: 0 auto; и фиксированную ширину, и вы ее получили

ul#nav {
display:block;
float:left;
font-family:Trebuchet MS,sans-serif;
font-size:0;
padding:5px 5px 5px 0;
margin:0 auto;
width:100%;

background: -moz-linear-gradient(#f5f5f5, #c4c4c4); /* FF 3.6+ */  
background: -ms-linear-gradient(#f5f5f5, #c4c4c4); /* IE10 */  
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f5f5f5), color-stop(100%, #c4c4c4)); /* Safari 4+, Chrome 2+ */  
background: -webkit-linear-gradient(#f5f5f5, #c4c4c4); /* Safari 5.1+, Chrome 10+ */  
background: -o-linear-gradient(#f5f5f5, #c4c4c4); /* Opera 11.10 */  
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#c4c4c4'); /* IE6 & IE7 */  
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#c4c4c4')"; /* IE8+ */  
background: linear-gradient(#F2F2F2, f5f5f5); /* the standard - Farge */ 
}
  • 0
    margin:auto работает только тогда, когда элемент имеет определенную ширину или max-width
  • 0
    извини что я забыл, ты прав: D .. отредактировал

Ещё вопросы

Сообщество Overcoder
Наверх
Меню