0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 7
1

Замена вертикальных пунктов подменю на горизонтальные

01.11.2015, 13:12. Показов 1324. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток.
Подскажите, пожалуйста, решение следующей задачи: необходимо поменять в меню вертикальные пункты подменю на горизонтальные так, чтобы сохранилась подсветка активного пункта в меню. Сам, к сожалению, с этой задачей справится пока не смог. Заранее всем спасибо!

Код HTML
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<ul id="nav">
<li><a href="#">Меню 1</a>
<ul>
<li><a href="#">Подменю 1</a></li>
<li><a href="#">Подменю 2</a></li>
<li><a href="#">Подменю 3</a></li>
</ul>
</li>
<li><a href="#">Меню 2</a>
<ul>
<li><a href="#">Подменю 1</a></li>
<li><a href="#">Подменю 2</a></li>
<li><a href="#">Подменю 3</a></li>
</ul>
</li>
<li><a href="#">Меню 3</a>
<ul>
<li><a href="#">Подменю 1</a></li>
<li><a href="#">Подменю 2</a></li>
<li><a href="#">Подменю 3</a></li>
</ul>
</li>
<li><a href="#">Меню 4</a></li>
<li><a href="#">Меню 5</a></li>
</ul>
Код CSS
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
* {
margin:0;
padding:0;
}
#nav {
font:13px verdana, arial, helvetica, sans-serif;
list-style-type:none;
width:100%;
height:25px;
display:inline-block;
background:#A39E92;
line-height:25px;
}
#nav li{
float:left;
width:120px;
margin-top:-10000px;
}
#nav li a {
width:120px;
text-decoration:none;
text-align:center;
color:#3A3732;
position:relative;
float:left;
margin-right:-119px;
margin-top:10000px;
}
#nav li a:hover, #nav li a:focus, #nav li a:active {
background:#797466;
margin-right:0;
color:#fff;
}
#nav li ul {
background:#A39E92;
float:left;
margin-top:-25px;
padding-top:25px;
margin-bottom:-10000px;
list-style-type:none;
}
#nav li ul li {
float:none;
margin:0;
width:auto;
}
#nav li ul li a {
float:none;
display:block;
margin:0;
margin-right:-1px;
background:#BFBCB5;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.11.2015, 13:12
Ответы с готовыми решениями:

Автоматическая ширина пунктов подменю
Здравствуйте, подскажите как сделать, чтобы ширина подменю зависела от ширины подпунктов меню. И...

Замена вида checkbox /Второй уровень подменю /Анимация
Доброго времени суток. Накопилось три вопроса, ответы которые, собственными, пока еще малыми,...

Изменение состояние команд и пунктов-подменю
Win32 Api. Как менять состояние команды с grayed на обычную и обратно при нажатии другой команды в...

Форма навигации.Горизонтальные + Вертикальные слева. Можно ли сделать чтобы горизонтальные кнопки стали подчинёнными?
Форма навигации. Горизонтальные + Вертикальные слева. Можно ли сделать чтобы горизонтальные...

5
Нарушитель
86 / 86 / 9
Регистрация: 09.05.2012
Сообщений: 456
01.11.2015, 14:02 2
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<ul id="nav">
    <li>
    <a href="#">Меню 1</a>
        <ul>
            <li><a href="#">Подменю 1</a></li>
            <li><a href="#">Подменю 2</a></li>
            <li><a href="#">Подменю 3</a></li>
        </ul>
    </li>
    <li>
    <a href="#">Меню 2</a>
        <ul>
            <li><a href="#">Подменю 1</a></li>
            <li><a href="#">Подменю 2</a></li>
            <li><a href="#">Подменю 3</a></li>
        </ul>
    </li>
    <li>
    <a href="#">Меню 3</a>
        <ul>
            <li><a href="#">Подменю 1</a></li>
            <li><a href="#">Подменю 2</a></li>
            <li><a href="#">Подменю 3</a></li>
        </ul>
    </li>
</ul>
CSS
1
2
3
4
#nav li{float:left; width:55px; margin-left:15px; list-style-type: none;}
#nav li ul {display:none; min-width: 300px;}
#nav li ul li {display:inline-block; width:auto; margin-left:20px;}
#nav li:hover ul {display:block;  margin-left: -60px; height: 20px;}
с оформление сами справитесь ?
0
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 7
01.11.2015, 14:44  [ТС] 3
gulliver спасибо, с оформлением я справлюсь (я так думаю…), но проблема именно в том, что в Вашем варианте всё работает, но без подсветки активного пункта. В моем варианте подсветка есть как в пунктах меню, так и пунктах подменю (при наведении и при нажатии). Я хочу постараться добиться именно подсвети активного пункта средствами CSS и HTML (как у меня в примере) и поменять при этом только форму выпадающего подменю на горизонтальное. Вот с этой проблемой, я к сожалению пока справится не могу……..
0
Нарушитель
86 / 86 / 9
Регистрация: 09.05.2012
Сообщений: 456
01.11.2015, 17:51 4
CSS
1
2
3
4
5
6
7
8
9
#nav li{float:left; width:55px; margin-left:15px; list-style-type: none;}
#nav li ul {display:none; min-width: 300px;}
#nav li ul li {display:inline-block; width:auto; margin-left:20px;}
#nav li:hover ul {display:block;  margin-left: -60px; height: 20px;}
#nav li a:hover, #nav li a:focus, #nav li a:active {
background:#797466;
margin-right:0;
color:#fff;
}
так?
0
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 7
01.11.2015, 20:51  [ТС] 5
gulliver спасибо ещё раз! Сейчас все отлично! Теперь пойду, с оформлением справляется
0
0 / 0 / 0
Регистрация: 01.11.2015
Сообщений: 7
11.11.2015, 11:03  [ТС] 6
Добрый день, уважаемые ГУРУ форума!!!
Возникли ещё несколько вопросов по данному меню: возможно ли средствами CSS сделать такой вариант, что после нажатия на пункт меню или подменю, само подменю не пропадало??? (Во как загнул! )
Если возможно это сделать, то и второй вопрос – КАК??? Заранее всем спасибо!
0
11.11.2015, 11:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2015, 11:03
Помогаю со студенческими работами здесь

Выравнивание вертикальных надписей
Здавствуйте, сначала скрин.. (всё что красным - я нарисовал) теперь мои вопросы: 1. как...

Мерцание вертикальных полос на мониторе
Здравствуйте, появилась проблема с плазменным экраном ASUS VK221. При работе и нагревании монитор...

2 вертикальных оси на графике Matlab
Здравствуйте! Знаю, что в Ориджине можно построить зависимость сразу двух параметров от одного....

Верстка трех вертикальных блоков
Добрый день! Просьба помочь с решением проблемы. Пытаюсь выполнить самую тривиальную верстку: 3...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru