2010-10-25 6 views
2

мой CSS для менюCSS Проблема меню

 ul#menubar { 
    width: 800px; 
    padding: 27px 10px 5px 10px; 
    list-style: none; 
    text-align: center; 
    } 

    ul#menubar li { 
display: inline; 
    } 
    ul#menubar li a{ 
border-right: 1px solid #111111; 
font: 12px "Lucida Sans Unicode", "Bitstream Vera Sans", "Trebuchet Unicode MS", "Lucida Grande", Verdana, Helvetica, sans-serif; 
padding: 5px 10px 8px 10px; 
    } 

    ul#menubar li a#last { 
border-right: none; 
    } 

    ul#menubar li a:hover, ul#menubar li a:active{ 
background: #8d4d09 url("images/hover.gif") bottom center no-repeat; 
padding-bottom: 8px; 
    } 

меню HTML

<ul id="menubar"> 
     <li><a href="#" target="_self">Home</a></li> 
     <li><a href="#" target="_self">Sale</a></li> 
     <li><a href="#" target="_self">Purchase</a></li> 
     <li><a href="#" target="_self">Rent</a></li> 
     <li><a href="#" target="_self">Developments</a></li> 
     <li><a href="#" target="_self">Interior Decorators</a></li> 
     <li><a href="#" target="_self">Maps</a></li> 
     <li><a id="last" href="#" target="_self">Legal Documents</a></li> 
    </ul> 

просмотр sample

проблема заключается в том, что я не могу понять, пространство между границами-правых и привязка при наведении указателя.

Что вызывает это пространство и как его можно удалить.

Наведенный эффект показан на ссылке «Покупка».

ответ

2

проблема display: inline; - в исходном коде у вас есть разрывы строк между вашими ликами, которые представляются как пространство на сайте (как alwys, когда вы используете встроенные элементы и/или текст, см. пример ниже).

, чтобы избежать этого, используйте float: left; или определите свою ul/li в одной строке, без пробелов/разрывов между ними.

* Пример:

это исходный код:

this 
is 
text 

дает этот вывод:

это текст

(разрывы строк/пробелы преобразуются в 1 пространство между слова (а слова li - «слова» в вашем случае))

+0

всегда пренебрегают, но важно быть замеченным. благодаря – booota

0

Вы устанавливаете padding-bottom: 8px на hover, у вас уже есть padding: 5px 10px 8px 10px; применяется к элементу. Нужно ли вам настраивать padding-right на hover, так как вы все еще будете применять к нему 10px?

+0

изображение наведения, которое я использую, создает проблему, если я удаляю нижнюю часть: 8px на hover. – booota

1
ul#menubar li { 
display: inline; 
float: left; 
} 
+0

, который сделал трюк, но создав еще одну проблему. Я использовал text-align: center; для центровки якорей . который теперь кажется выровненным по левому краю. – booota

+0

все выглядит нормально для меня с кодом, который вы нам дали здесь ... –

0

Я думаю, что это может быть стиль браузера по умолчанию, чтобы применить маржу слева/справа от li. Попробуйте установить поля на 0.

Смежные вопросы