Меню навигации HTML 5

Это мой HTML5 для панели навигации. Однако подменю не будет скрыто, и меню не будет отображаться горизонтально. Домашний, американский и иностранный, а также параметры верхнего меню, скорость, удобство использования и цена находятся в подменю. Однако иностранный отображается ниже, а не рядом с американским. Заранее спасибо.

<nav>
  <ul class="topmenu">
  <li> <a href="index.html">Home</a></li>
  <li><a href="american.html">American</a></li>
    <ul class="submenu">
    <li> <a href="index.html">Speed</a></li>
    <li> <a href="index.html">Price</a></li>
    <li> <a href="index.html">Usability</a></li>
    </ul>
  <li><a href="foreign.html">Foreign</a></li>
    <ul class="submenu">
    <li> <a href="index.html">Speed</a></li>
    <li> <a href="index.html">Price</a></li>
    <li> <a href="index.html">Usability</a></li>
    </ul>
  </ul>
</nav>

CSS

nav{
    position: relative;
    background-color: #00baff;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
}
.topmenu li{
    position: relative;
    list-style-type: none;
    font-size: 20px;
    display: inline-block;
    margin-right: 30px;
    color: white;
}
.topmenu li a{
    padding: 5px;
}
.topmenu a:link{
    text-decoration: none;
    color: #ffffff;
}
.topmenu a:visited{
    text-decoration: none;
    color: white;
}
.topmenu a:hover{
    background-color: #ffffff;
}
.topmenu li .submenu li{
    display: none;
    list-style-type: none;
}
.topmenu li:hover .submenu li{
    display: block;
    position: relative;
}

Скрипка


person user3101331    schedule 14.12.2013    source источник


Ответы (2)


РЕШЕНО:

CSS:

nav{
position: relative;
background-color: #00baff;
width: 50%;
margin-left: auto;
margin-right: auto;
}
/* This is your main UL resize to fit */
.topmenu{
width: 100%;    
height: 150px;
}
/* I used > li to target all elements of .topmenu */
.topmenu > li{
font-size: 20px;
margin-right: 10px;
color: white;
list-style:none;
display:inline;
float: left;
}
.topmenu > li a{
padding: 5px;
}
.topmenu a:link{
text-decoration: none;
color: #ffffff;
}
.topmenu a:visited{
text-decoration: none;
color: white;
}
.topmenu a:hover{
background-color: #ffffff;
}


/* new code 
 What this does is it targets all child UL elements on li:hover
  if they have them they will become VISIBLE if not nothing happens */
.topmenu > li:hover >ul{
visibility:visible;
}

/* your two sub menus set to hidden */
.american-submenu{
visibility:hidden;
}
.foreign-submenu{
visibility:hidden;
}

HTML

<nav>
<ul class="topmenu">
<li> <a href="index.html">Home</a></li>
<li><a href="american.html">American</a>
<ul class="american-submenu">
        <li> <a href="index.html">Speed</a></li>
        <li> <a href="index.html">Price</a></li>
        <li> <a href="index.html">Usability</a></li>
    </ul>
</li>
<li><a href="foreign.html">Foreign</a>
 <ul class="foreign-submenu">
            <li> <a href="index.html">Speed</a></li>
            <li> <a href="index.html">Price</a></li>
            <li> <a href="index.html">Usability</a></li>
     </ul>
</li>
</ul>
</nav>
person I am Cavic    schedule 14.12.2013
comment
Спасибо за помощь ЖЖ, к сожалению, без изменений - person user3101331; 14.12.2013
comment
Есть ли способ выложить скриншот? А также, когда вы говорите, что он не идет горизонтально, вы говорите о подменю или главном меню или о том и другом? - person I am Cavic; 14.12.2013
comment
хорошо, вот ссылка на интерактивную страницу редактирования html и css. jsfiddle.net/GKwKt - person user3101331; 14.12.2013
comment
Хорошо, у меня большая часть работает, однако, когда вы наводите указатель мыши на меню, они взлетают! jsfiddle.net/GKwKt/3 - person user3101331; 14.12.2013
comment
Я сделал все за вас, все, что вам нужно сделать, это изменить размер основного UL. Я оставил комментарии. - person I am Cavic; 14.12.2013
comment
Можете ли вы связать меня с тем, что вы сделали? Я нигде не вижу! спасибо - person user3101331; 14.12.2013
comment
Приведенный выше код я не использовал jsfiddle. Я написал его на своем компьютере и протестировал, если вы скопируете верхний код, он будет работать на 100%, все, что вам нужно сделать, это поиграть с нужным вам размером и цветами, которые вы хотите. Я оставил комментарии внутри части CSS, чтобы вы могли видеть, что я сделал и почему. Это может помочь вам учиться. Удачи тебе с твоим проектом! - person I am Cavic; 14.12.2013
comment
Хорошо, спасибо! Я ДУМАЮ, что это настолько близко, насколько это возможно. Спасибо! - person user3101331; 14.12.2013

HMTL

<nav>
  <ul class="topmenu">
  <li> <a href="index.html">Home</a></li>
  <li><a href="american.html">American</a>
    <ul>
        <li> <a href="index.html">Speed</a></li>
        <li> <a href="index.html">Price</a></li>
        <li> <a href="index.html">Usability</a></li>
      </ul>
      </li>
  <li><a href="foreign.html">Foreign</a>
        <ul>
        <li> <a href="index.html">Speed</a></li>
        <li> <a href="index.html">Price</a></li>
    <li> <a href="index.html">Usability</a></li>
    </ul>
      </li>
</ul>
</nav>

CSS

      nav{
    position: relative;
    background-color: #00baff;
    width:100%;
    }
.topmenu ul {
     list-style:none;
}
.topmenu li {
    float:left; 
    position:relative;
      list-style-type: none;
    font-size: 20px;
    display: inline-block;
    background-color: #00baff;
    color: white;
     text-align:center;
    padding:5px;

}
.topmenu li ul {
    display:none;
    position:absolute;
    text-decoration:none;
}
.topmenu li:hover ul{
    display:block;
    background-color: #00baff;
    color:white;
     height:auto; 
      width:8em;
}
.topmenu li ul li{
    clear:both;
border-style:none;}

.topmenu li a{
    padding: 5px;
}
.topmenu a:link{
    text-decoration: none;
    color: #ffffff;
}
.topmenu a:visited{
    text-decoration: none;
    color: white;
}
.topmenu a:hover{
    background-color:white ;
    color:#00baff;
}

Скрипт Демо

person Amarnath Balasubramanian    schedule 14.12.2013
comment
Можете ли вы проверить демонстрацию скрипки и сказать, что это нормально ?? - person Amarnath Balasubramanian; 14.12.2013
comment
Ну, не совсем, например, выравнивание пошло от центра (предполагаемого) влево. Изначально цвет фона был синим, а между меню было слишком много места. Сейчас я пытаюсь сделать меню центром страницы, но пока безуспешно. - person user3101331; 14.12.2013
comment
jsfiddle.net/GKwKt/3 Я хотел, чтобы это выглядело так, но в этом , подменю будет работать некорректно. - person user3101331; 14.12.2013
comment
Идеальный! Еще одна услуга! для подменю, когда вы наводите курсор, как я могу растянуть границу на весь блок подменю? - person user3101331; 14.12.2013
comment
Если это работает, можете ли вы отметить это как ответ, чтобы это было полезно для кого-то в будущем. и я тоже внесу необходимые изменения. - person Amarnath Balasubramanian; 14.12.2013
comment
Ну, это близкий ответ, а не идеальный ответ. - person user3101331; 14.12.2013