Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 30

Выпадающие пункты меню не раздвигаются по длине текста

20.09.2014, 11:09. Показов 2637. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
С Вашей помощью кое как сделала меню на сайте http://test7.demowork.ru/. НО выпадающие пункты не раздвигаются по длине текста. Какое свойство нужно добавить для их растягивания?

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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#menu{
    float:left;
    width:100%;
    list-style:none;
    font-weight:bold;   
}
#menu li{
    float:left; 
    padding-right:1px;
    position:relative;
    display:block;
}
#menu li a{
    display:block;
    width:139px; 
    font-weight:400; 
    color:#1f1f1f; 
    font-size:16px; 
    line-height:51px; 
    background:url(/site/images/menu_bg.jpg) top repeat-x; 
    text-align:center; 
    text-transform:uppercase; 
    text-decoration:none
}
#menu li a span{ display:block; background:url(/site/images/menu_left.jpg) top left no-repeat}
#menu li a span span{ background:url(/site/images/menu_right.jpg) top right no-repeat}
#menu li a:hover, #menu .active a{ color:#fff; background:url(/site/images/menu_bg_active-2.jpg) top repeat-x}
#menu li a:hover span , #menu .active a span { background:url(/site/images/menu_left_active-2.jpg) top left no-repeat}
#menu li a:hover span  span , #menu .active a span  span{ background:url(/site/images/menu_right_active-2.jpg) top right no-repeat}
 
/*--- ВЫПАДАЮЩИЕ ПУНКТЫ ---*/
 
#menu ul{
    list-style:none; /* убираем маркер списка */
    padding:0; /* обнуляем внутренние отступы */
    width:200px; /
    list-style:none;
    position:absolute;
    left:-9999px; /* Скрываем за экраном, когда не нужно (данный метод лучше, чем display:none;) */
    opacity:0; /* Устанавливаем начальное состояние прозрачности */
    -webkit-transition:0.25s linear opacity; /* В Webkit выпадающие пункты будут проявляться */
}
#menu ul li{
    padding-top:1px; /* Вводим отступ между li чтобы создать иллюзию разделенных пунктов меню */
    background:url(dot.gif);
}
#menu li ul li a {
    line-height: 30px;
}
 
#menu ul a{
    /* margin-top:-17px; */
    /* height:30px; */
    display:inline-block;
    vertical-align: -15px !important; 
    color:white;
    white-space:nowrap; /* Останавливаем перенос текста и создаем многострочный выпадающий пункт */
    border-radius:2px; /* радиус скругления уголков рамки */
    -moz-border-radius:4px; /* для Firefox */
    -webkit-border-radius:4px; /* для Chrome */
    text-transform:none; 
    font-size:13px; 
}
 
#menu li:hover span, #menu ul a{ 
    background:url(/site/images/menu_left_active-2.jpg) top left no-repeat;
}
 
#menu li:hover span span, #menu ul a{ 
    background:url(/site/images/menu_right_active-2.jpg) top right no-repeat;
}
 
#menu li:hover ul{ /* Выводим выпадающий пункт при наведении курсора */
    left:0; /* Приносим его обратно на экран, когда нужно */
    opacity:1; /* Делаем непрозрачным */
}
#menu li:hover a{ /* Устанавливаем стили для верхнего уровня, когда выводится выпадающий список */
    background:#F18314;
    text-decoration:underline;
}
#menu li:hover ul a{ /* Изменяем некоторые стили верхнего уровня при выводе выпадающего пункта */
    background:#808080;
    display:block;
    text-decoration:none;
}
#menu li:hover ul li a:hover{ /* Устанавливаем стили для выпадающих пунктов, когда курсор наводится на конкретный пункт */
    background:rgb(42,42,42);  /* Будет полупрозрачным */
    text-decoration:underline;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2014, 11:09
Ответы с готовыми решениями:

Горизонтально выпадающее меню ! как увеличить выпадающие пункты ?
При наведении выпадет меню , но надписи в пунктах не влезают в ячейку , как расширить все пункты или сделать чтобы пункт где слова не...

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

Как сделать так, чтобы выпадающие пункты меню были не вертикальными, а горизонтальными?
Дано вертикальное меню. Подскажите пожалуйста как сделать так, чтобы выпадающие пункты меню были не вертикальными, а горизонтальными. ul{...

15
 Аватар для Alex Japson
37 / 37 / 11
Регистрация: 07.08.2013
Сообщений: 145
Записей в блоге: 1
20.09.2014, 11:30
для
CSS
1
#menu li ul li a{padding-left:10px; padding-right:10px;}
Добавлено через 2 минуты
и зачем на столько усложнила меню? canvas зачем-то, когда можно простым ul li
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 30
20.09.2014, 11:31  [ТС]
нет, не то. При наведении на пункт Главная, выпадает список, в нем последний нижний пункт не умещается.
т.е. надо сделать чтобы пункты не были фиксированными, а раздвигались в зависимости от длины текста
0
 Аватар для Alex Japson
37 / 37 / 11
Регистрация: 07.08.2013
Сообщений: 145
Записей в блоге: 1
20.09.2014, 11:35
CSS
1
#menu li:hover ul a{display:inline-block; width:100%;}
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 30
20.09.2014, 11:40  [ТС]
да такие правила, я тоже устанавливала. Немного не то. Вот теперь как сделать чтобы длина остальных пунктов выпадающих была равна длине нижнего выпадающего пункта?
0
 Аватар для Alex Japson
37 / 37 / 11
Регистрация: 07.08.2013
Сообщений: 145
Записей в блоге: 1
20.09.2014, 11:47
отключит тогда в
CSS
1
#menu ul a{white-space: nowrap;}
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 30
20.09.2014, 11:59  [ТС]
нет, тогда текст переносится вниз. Надо чтобы получилось так http://floomby.ru/s2/3eeC5r
0
 Аватар для Alex Japson
37 / 37 / 11
Регистрация: 07.08.2013
Сообщений: 145
Записей в блоге: 1
20.09.2014, 12:19
как вариант но с фиксированной длинной
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 30
20.09.2014, 12:23  [ТС]
Заказчик говорит что фиксированная длина не пойдет, изначально я так сделала. Говорит мало ли какая длина будет у текста. Надо динамическую длину сделать.
0
 Аватар для tsj3amttaf
3 / 3 / 2
Регистрация: 31.08.2014
Сообщений: 15
20.09.2014, 14:11
stella1982, как я Вас понял, нужно сделать так, чтобы растягивались все пункты меню одновременно, при изменении размера одного пункта? (т.е. все пункты равнялись на одну - самую длинную)
Или же только одна ссылка, в которой удлиняют текст, становилась длиннее?
0
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 30
20.09.2014, 14:29  [ТС]
да надо сделать чтобы все пункты меню раздвигались одновременно
0
279 / 279 / 62
Регистрация: 28.08.2014
Сообщений: 432
20.09.2014, 15:22
Тогда сделайте внешний див, который будет растягиваться по ширине содержимого (т.е. по ширине максимально длинного пункта меню).
0
 Аватар для tsj3amttaf
3 / 3 / 2
Регистрация: 31.08.2014
Сообщений: 15
20.09.2014, 18:03
stella1982, вот, написал для ознакомительной цели, попробуйте сделать по предложенному принципу:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<ul class="menu">
    <li>Home
        <ul>
            <li>Page 1</li>
            <li>Page 2</li>
            <li>Page 3 *И тут я растягиваю текст, на столько, сколько захочу!*</li>
        </ul>
    </li>
    <li>Portfolio</li>
    <li>About
        <ul>
            <li>Page 1</li>
            <li>Page 2 *И тут я растягиваю текст, на столько, сколько захочу!*</li>
            <li>Page 3</li>
        </ul>
    </li>
    <li>Help</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
ul, ol {list-style-type: none;padding:0;margin:0;}
body {margin:0;padding:0;background:rgb(200,200,200);}
 
.menu {
    display:block;
    width:100%;
    height:50px;
    background:pink;
    margin:10px; 
}
 
.menu li {
    display:inline-block;
    padding:16px;
    background:white;
}
 
/* Sub Menu */
 
.menu li:nth-child(3):hover ul {display:block;left:178px;}
.menu li:hover ul {display:block;}
.menu li ul {
    display:none;
    position:absolute;
    top:60px;
    left:10px;
}
 
.menu li ul li {
    display:block;
    background:white;
    margin-top:4px;
    padding:5px;
}
Вот ссылка, чтобы посмотреть в живую: JSFiddle

Добавлено через 2 часа 41 минуту
stella1982, думаю, прежде чем править меню, Вам нужно убрать ошибки в коде:
например, в файле style.css, живущий по адресу 'site/css/style.css', я обнаружил символ, который вероятно создает проблему в отображении элементов! (68 строка, символ '/')
0
18 / 18 / 5
Регистрация: 03.09.2014
Сообщений: 66
20.09.2014, 18:35
Правило .menu li {width:169px;} распространяется и на .menu li ul li {}. Напишите что-нить вроде .menu li ul li {width:auto;}
1
0 / 0 / 0
Регистрация: 18.06.2013
Сообщений: 30
21.09.2014, 16:04  [ТС]
вопрос решился. Всем большое спасибо.
0
3 / 3 / 0
Регистрация: 03.10.2012
Сообщений: 26
21.09.2014, 19:12
Ребят проще ей заново было меню написать, чем 500 исправлений делать ))))))))))))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2014, 19:12
Помогаю со студенческими работами здесь

Правильное постоянное расположение текста поверх картинки (пункты меню, bootstrap)
Здравствуйте! Товарищи, подскажите, пожалуйста, как будет более разумно с точки зрения кроссбраузерности и адаптивности сверстать меню,...

Выпадающие пункты начинаются сверху, css - как сделать?
Делаю выпадающее меню на css, вертикальное. Все работает, но я хочу, чтобы выпадающая часть всегда начиналась сверху. Сейчас она начинается...

Переместить пункт меню/поменять пункты меню местами
Добрый день! В битриксе довольно недолго и столкнулся с такой проблемой: Есть страница &quot;step by step&quot;, она должна быть в меню...

Wayfinder Modx. Меню выпадает, но пункты меню не кликаются
Добрый день! Подпункты меню переходят на внутренние страницы, а первый ряд пунктов нет. Мышкой наводится, цвет выделяется, но клика нет. ...

Глючит бургер меню, не попадает на пункты меню
http://cadinstruktor.kl.com.ua


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru