#css #drop-down-menu #nav #suckerfish
#css #выпадающее меню #навигация #suckerfish
Вопрос:
Я создал сына Suckerfish (http://htmldog.com/articles/suckerfish/dropdowns /) Навигационное меню на основе CSS. Левая сторона — обычная Suckerfish, где навигационная запись верхнего уровня имеет ту же ширину, что и выпадающие списки.
В правой части моего меню у меня есть несколько маленьких значков для таких вещей, как справка и параметры, которые также имеют выпадающие меню. Проблема в том, что мне нужно выровнять их по правому краю, чтобы они не исчезали со страницы, потому что значки узкие и перемещаются вправо.
Время создания изображения Word 🙂
_______________________________________________________
| menu-item | menu-item | ____________| ? |
--------------------------------------| help item 1 |
| help item 2 |
| etc |
-----------------
Что я сделал несколько успешно, так это применил отрицательное левое поле к внутреннему, которое содержит выпадающие записи:
#nav li ul { width: 10em; margin-left: -10em; }
Есть одна проблема, она заканчивается слишком далеко слева:
_______________________________________________________
| menu-item | menu-item | _________________| ? |
---------------------------------| help item 1 |-----
| help item 2 |
| etc |
-----------------
Простым решением было бы использовать ширину в пикселях вместо em и уменьшить отрицательное левое поле на ширину моего значка (16 пикселей), но это халтура. Он не будет обрабатывать масштабирование шрифта. Другой трюк, который я придумал, заключался бы в использовании margin-left:-9em; и сделать ширину моего элемента icon: 1em; но это тоже кажется немного шатким. Я надеюсь, что у кого-то есть идея получше!
Комментарии:
1. Было бы действительно полезно, если бы вы могли сделать демонстрацию jsFiddle того, что у вас есть на данный момент.
2. Проект, для которого я это делал, прекратил свое существование, у меня сейчас нет времени. Наверняка люди делали это тысячу раз — удивлен, что ни у кого не было быстрого ответа. Возможно, в наши дни никто не использует CSS-меню в стиле suckerfish / сын suckerfish.
3. Используя тестовый пример, вы бы определенно получили ответ (от меня!). Общая идея была бы такой: включить
:hover
в последний разli
, установить наul
что-то вродеright: 0
илиright: -<width of containing li>px
или, возможноleft: 100%
.4. Если вам больше не нужен ответ на этот вопрос, можете ли вы удалить его?
Ответ №1:
Хорошо, я собрал скрипку для этого и нашел решение… Смотрите мою скрипку http://jsfiddle.net/cssguru/7JMkp /. Не было времени для проверки во всех браузерах. Вероятно, требуется некоторая настройка IE.