CSS: UL Navigation - при наведении, ошибка цвета фона - PullRequest
2 голосов
/ 27 мая 2011

При наведении курсора цвет фона, кажется, выходит за рамки "ящиков", которые являются моими элементами навигации.Я пытался настроить все.Вот мой CSS и HTML ...

<div id="menuTop">

 <ul id="menuOne" class="menuHoriz">
    <li><a href="index.html">home</a></li>
    <li><a href="communication.html">about us</a></li>
    <li><a href="about.html">services</a></li>
    <li><a href="help.html">samples</a></li>
    <li><a href="contact.html">contact</a></li>
</ul>

</div>

#menuTop {
clear: both;
padding-top: 18px;
height: 55px;
font-size: 12pt;
background-color: #000;
 }

#menuTop ul, #menuTop li {
margin: 0;
padding: 4px 0 0 0;
}

#menuTop ul {
list-style-type: none;
}

#menuTop li {
display: block;
background-color: #3C87D1;
text-align: center;
width: 197px;
height: 30px;
margin: 0 0px 0 0;
padding: 4px 0 0 0;
border: 1px solid #2A5E92;
}

#menuTop a {
display: block;
margin: 0;
padding: 4px 0 0 0;
}

#menuTop a:link, #menuTop a:visited {
width: 197px;
height: 30px;
padding: 4px 0 0 0;
margin: 0;
font-family: 'Trebuchet MS', Helvetica, sans-serif;
color: #fff;
text-decoration: none;
}

#menuTop a:hover {
width: 197px;
height: 30px;
padding: 4px 0 0 0;
margin: 0;
color: #fff;
background-color: #5F9FFF;
}

ul.menuHoriz li {
float: left;
}

Ответы [ 3 ]

1 голос
/ 27 мая 2011

Я удалил ненужные / двойные определения из вашей таблицы стилей и исправил ошибку.

* {
    margin: 0;
    padding: 0
}
#menuTop {
    font: 12pt 'Trebuchet MS', Helvetica, sans-serif;
    padding-top: 18px;
    height: 55px;
    background: #000
}
#menuTop ul {
    padding-top: 4px;
    list-style: none
}
#menuTop li {
    background: #3C87D1;
    border: 1px solid #2A5E92;
    text-align: center
}
#menuTop a {
    display: block;
    width: 197px;
    line-height: 30px
}
#menuTop a:link, #menuTop a:visited {
    color: #fff;
    text-decoration: none
}
#menuTop a:hover {
    background-color: #5F9FFF
}
ul.menuHoriz li {
    float: left
}

Вот некоторые заметки:

  • Удобно установить поля и отступы для всех элементов на ноль с помощью *, прежде чем создавать макет.
  • Установите ширину и высоту для вашего пункта меню только на элемент a (самый вложенный элемент). Окружающий элемент li будет иметь такой же размер. Также используйте line-height вместо height, поскольку он автоматически делает текст вертикально центрированным.
  • Не переопределяйте стили в :link, :visited, :hover или :active (например, размеры и шрифт). Это дает ненужные вычисления для браузера.
1 голос
/ 27 мая 2011

Если ваша проблема заключается только в цвете, выходящем за рамки, добавьте это в ваше # menuTop li

overflow:hidden;

У меня работает.:)

0 голосов
/ 27 мая 2011

Попробуйте это: Пример jsfiddle

#menuTop {
    clear: both;
    padding-top: 18px;
    height: 55px;
    font-size: 12pt;
    background-color: #000;
    text-align: center;
    font-family: 'Trebuchet MS', Helvetica, sans-serif;
    line-height: 34px;    
}
#menuTop a {
    float: left;
    border: 1px solid #2A5E92;
    background-color: #3C87D1;
    width: 197px;
    color: #fff;
    text-decoration: none;
}
#menuTop a:hover {
    background-color: #5F9FFF;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...