Как центрировать навигационную панель

0

Я хочу задать один, может быть, глупый вопрос: как центрировать следующую навигационную панель в подменю? Я сделал горизонтальное центрирование с помощью

    #podmenu{text-align:center;}

но у меня проблемы с вертикальным центрированием. Независимо от того, что я делаю, navbar имеет 24 пикселя от вершины... Помогите!

  <div id="podmenu">

<div style="position:relative;">
    <nav id="menu">
      <ul>
      <li><a href="index.html">Home</a></li>
      <li><a href="">Features</a>
        <ul>
        <li><a href="reactions.html">Reactions</a></li>
        <li><a href="">Electronegativity</a></li>
        <li><a href=""></a></li>
        </ul>
      </li>
      <li><a href="">Help</a>
        <ul>
        <li><a href="">Reactions</a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        </ul>
      </li>
      <li><a href="">Contact</a>
      </li>
    </ul>
    </nav>
    </div>

    </div>

CSS:

     #menu{display:block; positon:fixed; z-index:2;}

Весь CSS:

   nav ul ul {
    display: none;
      z-index:2;
  }
  nav ul{z-index:2; }

    nav ul li:hover > ul {
        display: block;
    }
  nav ul{

         background:linear-gradient(top,#E6E600 20%,#FFFF00 100%);
         background: -moz-linear-gradient(top, #E6E600 20%,#FFFF00 100%); 
         background: -webkit-linear-gradient(top, #E6E600 20%,#FFFF00 100%);
         padding: 0 0px;
       border-radius: 10px;  
       list-style: none;
       position: relative;
       display: inline-table;
         }
  nav ul:after 
         {
        content: ""; clear: both; display: block;
       }
  nav ul li{float:left; }
  nav ul li:hover
         {background:#6C6C18;
          background: linear-gradient(top, #E6E600 0%,  #CCCC00 40%);
        background: -moz-linear-gradient(top, #E6E600 0%, #CCCC00 40%);
        background: -webkit-linear-gradient(top, #E6E600 0%,#CCCC00 40%);
          border-top-left-radius: 10px; 
          border-top-right-radius: 10px;              
         }
  nav ul li:hover a 
  {
    color: #fff;
  }
  nav ul li a 
  {
    display: block; padding: 15px 30px;
    color: #7A991F; text-decoration: none;
  }
  nav ul ul
  {
      background:   #B2B200; border-radius:0; padding:0; position:absolute; top:100%;   
  }
  nav ul ul:hover {display:block; }
  nav ul ul li 
  {
      float:none;
      border-top:1 solid #B2B200;
      border-bottom:1 solid #B2B200;
      position:relative;
  }
  nav ul ul li a 
  {
    padding: 5px 10px;
    color: #fff;
  }
  nav ul ul li a:hover 
  {
    background: #808000;
  }
  nav ul ul ul 
  {
    position: absolute; left: 100%; top:0;
  }

Независимо от того, что я делаю, навигационная панель имеет 24 пикселя от вершины... Помощь Pls!

  • 0
    Можете ли вы опубликовать свой полный CSS / создать скрипку? Без этого мы можем только догадываться. Я думаю, вам нужно сбросить margin для #menu > ul в 0px . (Вот так )
  • 0
    Отредактировано, как вы хотели :)
Показать ещё 2 комментария
Теги:

2 ответа

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

Все, что вам нужно сделать, это сбросить по умолчанию margin и padding параметры с помощью ниже код в CSS.

Нижеследующие строки будут устанавливать margin и padding на 0px для всех элементов (*) в начале и, следовательно, любые настройки, заданные для каждого селектора, возьмут верх.

* {
    padding: 0px;
    margin: 0px;
}

Демо-версия скрипта

  • 0
    Спасибо за помощь :)
0

hi, если вам нужен пример центрального блока #menu или parent, вы можете использовать этот стиль:

#podmenu{position relative; width:100%; height:300px;}    
div{position: absolute; width: 406px; height: 82px; top:50%; margin-top:-41px; left:50%; margin-left: -203px;}

вы можете использовать метод anatoher

display: table;

Ещё вопросы

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