css, chrome. ul > li bug? Помогите справиться

Приветствую.

shit

Проблема такая:
Сделал обычное себе такое меню div>ul>li все элементы списка — float:left;
Внутри каждого li — ссылка (а), но дело не в ссылке.
Есть один пункт меню где нужна фиксированная ширина. Когда я задаю ему .narrow {width: 150px;} — во всех браузерах все нормально. В Хроме же — блок сдвигается на 1 пиксель вверх… Даже если внутри пусто и overflow:hidden… Не пойму в чем дело… Пришлось найти хак:

@media screen and (-webkit-min-device-pixel-ratio:0)
{
.main-menu li.narrow
{
margin-top: 1px;
}
}


Что посоветуете, в чем может быть дело? Причем я проверил пока ширина не задана — все ок. Как только задаешь ширину — вылазит вверх на 1px.
Это происходит даже при пустом li (без ссылки внутри, следовательно она не при чем). DOCTYPE: XHTML 1.0 Strict
  • Вопрос задан
  • 3804 просмотра
Решения вопроса 1
homm
@homm
Для всех display: inline-block задайте vertical-align: top;
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Все дела в этих строчках

.main-menu li.narrow a {
height: 33px;
line-height: 13px;
padding: 6px 0 0;
width: 157px;
}

Попробуйте заменить «Клинические исследования» на «Клинические». Сразу все поймете.
Ответ написан
Anonym
@Anonym
Программирую немного )
Либо меняйте inline-block у ссылки на block и ищите как втолкать туда 2 слова по-другому.
Ответ написан
MTonly
@MTonly
Веб-разработчик с 2002 года
В Firefox 3.6 тоже есть сдвиг.

Не вполне ясно, зачем там inline-block и хаки-пляски с inline. Всё, что вам нужно — это display: table для меню, display: block для ссылок и float: left для LI и A — для IE6/7.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы