Jump to content
  • 0

Горизонтальное меню с горизонтальным саб-меню с центровкой


wolfandman
 Share

Question

Привет!

Подскажите пожалуйста возможно ли сделать такое меню?

css.jpg

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

Как сделать внизу и чтобы открывалось при наведении - это я могу, а всё остальное - для этого прошу вашей помощи.

Благодарю за внимание.

Link to comment
Share on other sites

21 answers to this question

Recommended Posts

  • 0

psywalker, или я чето не уловил, или это хардкод. Ты же ширину блокам меню зафиксил.

Да эт я тупо твой вариант перековырял, особо не глядел там. Вот http://jsfiddle.net/4je52/2/

Link to comment
Share on other sites

  • 0

Спасибо, ребята!

Softlink, твоё решение близко по смыслу, но пунктов меню может быть произвольное кол-во, а саб-меню должно вставать по центу от пункта меню если этот пункт находится в середине меню. У меня вообще может быть несколько таких меню, но для каждого прописывать свой код - это не выход. Нужно универсальное решение. Спасибо за попытку )

psywalker, спасибо тоже ) Это примерно то же самое. Не универсальное решение.

Edited by wolfandman
Link to comment
Share on other sites

  • 0

Спасибо, ребята!

Softlink, твоё предложение довольно близко к задуманному, но всё же не совсем: саб-меню не устанавливается по центру в средних пунктах меню. И вообще, решение не универсально. У меня будет много подобных меню, и для каждого прописывать свой стиль и класс невозможно. Но спасибо за попытку! )))

Так можно же на селекторах все разрулить. Это просто я классы вешал. Плохо уже соображается. А задачка интересная.

И в догонку. В каких браузерах должно это работать?

psywalker предложил действительно "хардкод" )) Это совсем далеко от плана.

Так второй вариант же вроде подходить должен.

Link to comment
Share on other sites

  • 0

Спасибо, ребята!

Softlink, твоё предложение довольно близко к задуманному, но всё же не совсем: саб-меню не устанавливается по центру в средних пунктах меню. И вообще, решение не универсально. У меня будет много подобных меню, и для каждого прописывать свой стиль и класс невозможно. Но спасибо за попытку! )))

Так можно же на селекторах все разрулить. Это просто я классы вешал. Плохо уже соображается. А задачка интересная.

И в догонку. В каких браузерах должно это работать?

psywalker предложил действительно "хардкод" )) Это совсем далеко от плана.

Так второй вариант же вроде подходить должен.

Softlink, А как быть если пунктов может быть произвольное количество?

Саб-меню должно вставать прямо под свой пункт в меню и центрироваться. Как у меня на картинке.

Link to comment
Share on other sites

  • 0

wolfandman, ну так вы поэкспериментируйте с этим примером http://jsfiddle.net/4je52/2/ Добавьте много пунктов. В данном случае они становятся друг под друга. Иначе вообще что-то сложно придумать. Или тянуть блок-родитель, если это позволяет макет.

Link to comment
Share on other sites

  • 0

Softlink, я поэксперементировал. Добавил 2 пункта. Саб-меню встал ровно по центру всего меню. А мне нужно чтобы оно вставало под пунктом меню, который выбран. Прямо под ним. И отцентрирован.

Спасибо. ещё подумаю

Link to comment
Share on other sites

  • 0

Softlink, я поэксперементировал. Добавил 2 пункта. Саб-меню встал ровно по центру всего меню. А мне нужно чтобы оно вставало под пунктом меню, который выбран. Прямо под ним. И отцентрирован.

Спасибо. ещё подумаю

О, точно! :blink: Макс, не доработал чуток :D Скажите еще какие браузеры должны работать. Завтра попробую еще покопать, если время будет.

Link to comment
Share on other sites

  • 0

Хо-хо! psywalker, чертовски близко! ))) Спасибо спасибо спасибо вам обоим.

Фактически, это и есть то о чём я просил. Я очень счастлив, что так быстро удалось всё сделать!

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

Link to comment
Share on other sites

  • 0

Хо-хо! psywalker, чертовски близко! ))) Спасибо спасибо спасибо вам обоим.

Фактически, это и есть то о чём я просил. Я очень счастлив, что так быстро удалось всё сделать!

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

Немного не понял, что ты сделал? Покажи плиз на деле.

Link to comment
Share on other sites

  • 0

Хо-хо! psywalker, чертовски близко! ))) Спасибо спасибо спасибо вам обоим.

Фактически, это и есть то о чём я просил. Я очень счастлив, что так быстро удалось всё сделать!

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

Немного не понял, что ты сделал? Покажи плиз на деле.

Действительно. Так проще. http://jsfiddle.net/uqHwH/. При наведении на "третий", саб-меню заезжает за правый край.

Link to comment
Share on other sites

  • 0

Ага, я понял. Но я такого не смогу сделать, мало опыта. Единственное, что могу предложить, это обрезать меню справа, чтобы те пункты, которые будут вылезать, будут обрезаться.

Link to comment
Share on other sites

  • 0

Немного не понял, что ты сделал? Покажи плиз на деле.

http://clip2net.com/s/1dbjc вот об этом я тоже думал изначально. Выход вижу только в добавлении селекторов типа nth-child и указывать последним двум-трем последним пунктам text-align:right, т.к. фиксация ширины родителя не приведет ни к чему. Либо точно на js и поворачивать меню в нужную сторону. И на нем же уже центрирование.

Link to comment
Share on other sites

  • 0

Понял, спасибо большое!

Очень помогли мне.

Тебе спасибо. Наконец-то на форуме за последние две недели появились интересные задачи.

Немного не понял, что ты сделал? Покажи плиз на деле.

http://clip2net.com/s/1dbjc вот об этом я тоже думал изначально. Выход вижу только в добавлении селекторов типа nth-child и указывать последним двум-трем последним пунктам text-align:right,

Это хреновая и не универсальная затея. Она фиксированная сама по себе. Если знать точное кол-во пунктов, то да, такое можно сделать.

Link to comment
Share on other sites

  • 0

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

_http://ruseller.com/lessons.php?rub=32&id=208

Link to comment
Share on other sites

  • 0

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

_http://ruseller.com/lessons.php?rub=32&id=208

Да, согласен. Раз задача стоит такая чёткая, то лучше скрипты. И мусора за одно в хтмл не будет.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy