CeBuJI
@CeBuJI
Программист

Проблема с разработкой горизонтального выпадающего меню

Задача: создать горизонтальное резиновое выпадающее меню.

Само меню на скриншоте.
1390806280-clip-42kb.png?nocache=1

Проблема:
1390806408-clip-8kb.png?nocache=1
Как Вы поняли, выпадающий блок не чувствует правого края и создает горизонтальную прокрутку.

Код представляет собой стандартный код для меню:

ul>li>a+ul.submenu>li>a

Стиль ul
background-color: #414141;
.ma;
list-style: none;
width: 100%;
min-width: 980px;
max-width: 1280px;
position: relative;
margin: 0px auto 30px;
display: table;


Стиль выпадающей ul
position: absolute;
z-index: 2;
background: #575757;
display: none;
list-style: none;
width: 980px;
padding: 30px 40px;


Какие будут идеи решения этой проблемы?
  • Вопрос задан
  • 3084 просмотра
Решения вопроса 1
CeBuJI
@CeBuJI Автор вопроса
Программист
Решил вопрос по другому.
Тем блокам которые вылазят присваиваю класс .r0 (right: 0px)
Можно было бы написать функцию расчета местоположения блока на странице, но надо быстро и по-простому.

Спасибо всем за советы)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Anonym
@Anonym
Программирую немного )
Выбирайте:
- На JS проверять не вылез ли за край и сдвигать по необходимости
- CSS :last-child делать со сдвигом не вправо, а влево.
Ответ написан
doctorgrif
@doctorgrif
хирург
подсмотреть реализацию аналогичного по структуре и реализуемым функциям меню в любом из css фрейморков - zurb.foundation, twitter bootstrap, etc.
Ответ написан
Комментировать
@maxfox
Вы же через js показываете меню? Почему бы не написать в той же функции расчет ширины выпадающего элемента и устанавливать в ней width?
Могу ошибаться, но мне кажется это будет не сильно медленней (если не быстрее) чем :last-child. Тем более, что js все равно используется.
Ответ написан
Ваш ответ на вопрос

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

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