Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
6 / 0 / 1
Регистрация: 23.12.2013
Сообщений: 85
1

Исчезновение подменю

15.09.2014, 15:25. Показов 1520. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Данный вопрос уже подымал в существующей теме, но решение так и не было найдено, по этому обращаюсь снова к вам, комрады форумчане, за помощью.

Стандарное горизонтальное меню (еще кривоват в их создании но исправляюсь)
Добавил цвет фона, дабы было видно само меню из-за отсутсвия картинки
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<ul class="menu">
                <li><a href="#">Главная</a></li>
                <li><a href="#">О нас</a>
                    <ul>
                        <li><a href="#">Название подраздела</a></li>
                        <li><a href="#">Название подраздела</a></li>
                        <li><a href="#">Название подраздела</a></li>
                        <li><a href="#">Название подраздела</a></li>
                    </ul>
                </li>
                <li><a href="#">Новости</a></li>
                <li><a href="#">Полезное</a></li>
                <li><a href="#">Интересное</a></li>
                <li><a href="#">Необычное</a></li>
                <li><a href="#">Странное</a></li>
            </ul>
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
.menu{
    list-style-type: none;
    background: url(../images/nav.png);
    height: 49px;
    position: relative;
    top:-200px;
    background-color: #b7b7b7;
}
 
 ul.menu li{
    display: block;
    float: left;
    padding-left: 22px;
    padding-top: 17px;
    position: relative;
 
 
}
 
 ul.menu li ul{
     display: none;
     float: left;
     position: absolute;
 }
 
 
 ul.menu li:hover ul {
     display: block;
     background: url(../images/dropdown.png);
     width: 990px;
     top:43px;
     left: -68px;
     background-color: #b7b7b4;
 }
 
 ul li a{
     text-decoration: none;
     text-align: center;
     position: relative;
     color: #000000;
     font-family: Arial, bold;
     font-size: 9pt;
 
 }
При наведении должно появляться подменю, в котором так же можно выбирать необходимые под категории. Собственно это сделал, вроде как. Но есть главный нюанс. Меню и подменю должны проходить ровно по стыку изображений у них в стилях, не выше, не ниже. Попробовал через margin-top (без position) и с оным - одно и тоже. Довожу значение до определенного показателя и подменю исчезает как только убирается мышка с родительского пункта. Подскажите пожалуйста, может сделал что не так? Как можно выполнить сию задумку?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2014, 15:25
Ответы с готовыми решениями:

Исчезновение background
Стоит background-color:#3b3b3b у тега footer. Когда сужаю окно браузера и прокручиваю вбок...

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

Плавное исчезновение контента
Имеется в виду не исчезновение по времени, с этим всё понятно. Мне нужно, чтобы при прокрутке...

Градиентное исчезновение текста
Как методами css сделать такой текстовый блок, в котором все строчки последующие за пятой будут...

6
115 / 97 / 54
Регистрация: 04.04.2014
Сообщений: 290
15.09.2014, 16:16 2
Лучший ответ Сообщение было отмечено Taatshi как решение

Решение

JohnAlterat, здравствуйте) Помню я вашу тему, попробую помочь.
Для того, чтобы выровнять надписи по вертикали допишите:
CSS
1
2
3
.menu {
      line-height:49рх;
}
Дальше, чтобы кликабельной была вся область кнопки, а не только надпись, добавляете:
CSS
1
2
3
ul li a {
    display:block;
}
Ну и уберите этот padding, от уже не нужен:
CSS
1
2
3
ul.menu li {
    padding-top:17px;
}
2
18 / 18 / 5
Регистрация: 03.09.2014
Сообщений: 66
15.09.2014, 16:27 3
Лучший ответ Сообщение было отмечено Taatshi как решение

Решение

Попробуй это:
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
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta charset="utf-8">
<style> 
ul{
    list-Style:none;
    margin:0;
    padding:0;
    margin:auto;
    background:#f0f0f0;
}
.menu li{
    float:left;
    position:relative;
}
.menu li a{
    display:inline-block;
    height:50px;
    line-height:50px;
    padding:0 20px;
    background:#69c;
    color:#fff;
    text-transform:uppercase;
    text-decoration:none;
}
.menu li a:hover{
    background:#369;
}
.menu li ul{
    display:none;
    position:absolute;
    left:0; 
}
.menu li:hover ul{
    display:block;
}
.menu li li{
    float:none;
}
.menu li li a{
    display:block;
    background:#f60;
    white-space:nowrap;
}
.menu li li a:hover{
    background:#d30;
}
</style>
</head>
 
<body>
 
<ul class="menu">
                <li><a href="#">Главная</a></li>
                <li><a href="#">О нас</a>
                    <ul>
                        <li><a href="#">Название подраздела</a></li>
                        <li><a href="#">Название подраздела</a></li>
                        <li><a href="#">Название подраздела</a></li>
                        <li><a href="#">Название подраздела</a></li>
                    </ul>
                </li>
                <li><a href="#">Новости</a></li>
                <li><a href="#">Полезное</a></li>
                <li><a href="#">Интересное</a></li>
                <li><a href="#">Необычное</a></li>
                <li><a href="#">Странное</a></li>
            </ul>
 
</body>
</html>
2
6 / 0 / 1
Регистрация: 23.12.2013
Сообщений: 85
15.09.2014, 20:00  [ТС] 4
Crystal-3, zackuz, спасибо, помогло. Последний вопрос, может глупый, но всё же: зачем ставить значение block для "а", если же оно присутствует в родительских элементах и по идее должно их наследовать?
0
5 / 5 / 0
Регистрация: 12.09.2014
Сообщений: 22
15.09.2014, 20:16 5
zackuz, Crystal-3, Спасибо
0
18 / 18 / 5
Регистрация: 03.09.2014
Сообщений: 66
15.09.2014, 20:22 6
У всех селекторов есть приоритет вызовов. А самый первый css заложен браузером, так что display:block родителя может не отменить, значение по умолчанию.
0
6 / 0 / 1
Регистрация: 23.12.2013
Сообщений: 85
15.09.2014, 21:09  [ТС] 7
zackuz, понял спасибо.
0
15.09.2014, 21:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2014, 21:09
Помогаю со студенческими работами здесь

Исчезновение объекта за областью страницы
Подскажите, пожалуйста, как сделать так, чтоб страница не расширялась, когда объект уходит за...

Появление/исчезновение картинки по определённому условию
День добрый. Может заголовок не правильно назвал но суть вопроса такова, как сделать что бы на html...

Не появляется подменю
Никак не могу понять почему не отображается подменю? Ошибки вроде бы не вижу, но она есть, иначе бы...

Не отображается подменю
Добрый вечер. Когда навожу курсором на пункт меню не отображается его подменю. Подскажите,...


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

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