X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Спрайтовое выпадающее меню ?, конфликт свойств
Zinder
Zinder
Topic Starter сообщение 27.8.2009, 17:48; Ответить: Zinder
Сообщение #1


Столкнулся с проблемой наследования свойств в CSS. Оно мне не к месту, надо бы как-то обойти. В общем вот код:

Описание для всей менюшки:

#globalheader { width: 770px; height: 37px; position: relative; }
#globalheader #globalnav { margin: 0; padding: 0; }
#globalheader #globalnav li { display: inline; }
#globalheader #globalnav li a { float: left; height: 0; padding-top: 34px; overflow: hidden; }
#globalheader #globalnav li a,
#globalheader #globalsearch { background-image: url(../i/menu_sprite.png); _background-image: url(../i/menu_sprite.png); background-repeat: no-repeat; }


Координаты с фоновой картинки выставляем для каждой кнопки меню, как на сайте apple.com:
#globalheader #globalnav li#main a { background-position: 1px -1px; width: 83px}
#globalheader #globalnav li#about a { background-position: -83px -1px; width: 84px}
#globalheader #globalnav li#service a { background-position: -167px -1px; width: 85px}
#globalheader #globalnav li#prod a { background-position: -252px -1px; width: 85px}
#globalheader #globalnav li#solutions a { background-position: -337px -1px; width: 85px}
#globalheader #globalnav li#contact a { background-position: -422px -1px; width: 85px}
#globalheader #globalnav li#partners a { background-position: -507px -1px; width: 89px}

#globalheader #globalnav li#main a:active { background-position: 1px -1px}
#globalheader #globalnav li#about a:active { background-position: -83px -1px}
#globalheader #globalnav li#service a:active { background-position: -167px -1px}
#globalheader #globalnav li#prod a:active { background-position: -252px -1px}
#globalheader #globalnav li#solutions a:active { background-position: -337px -1px}
#globalheader #globalnav li#contact a:active { background-position: -422px -1px}
#globalheader #globalnav li#partners a:active { background-position: -507px -1px}

#globalheader #globalnav li#main a:hover { background-position: 1px -36px}
#globalheader #globalnav li#about a:hover { background-position: -83px -36px}
#globalheader #globalnav li#service a:hover { background-position: -167px -36px}
#globalheader #globalnav li#prod a:hover { background-position: -252px -36px}
#globalheader #globalnav li#solutions a:hover { background-position: -337px -36px}
#globalheader #globalnav li#contact a:hover { background-position: -422px -36px}
#globalheader #globalnav li#partners a:hover { background-position: -507px -36px}




А здесь начинается описание выпадающего списка меню:

#globalheader #globalnav li ul {
display: none;
}

#globalheader #globalnav li:hover ul {
position: absolute;
top: 22px;
left: 14px;
display: block;}

#globalheader #globalnav li#about ul #1 a { background-position: 1px -70px; width: 83px}
#globalheader #globalnav li#about ul #2 a { background-position: 1px -90px; width: 84px}
#globalheader #globalnav li#about ul #3 a { background-position: 1px -110px; width: 85px}
#globalheader #globalnav li#about ul #4 a { background-position: 1px -130px; width: 85px}
#globalheader #globalnav li#about ul #5 a { background-position: 1px -150px; width: 85px}
#globalheader #globalnav li#about ul #6 a { background-position: 1px -170px; width: 85px}



HTML: (каракули-как бе ссылки, копипаст поковеркал русские слова)


<div id="globalheader">


<ul id="globalnav">

<li id="main"><a href="/">Главная</a></li>
<li class="about"><a href="/company">О компании</a>
<ul>
<li id="1"><a href="/company/?id=16">Руководителю</a></li>
<li id="2"><a href="/company/?id=12">Начальнику IT-отдела</a></li>
<li id="3"><a href="/company/?id=2693">Дилерам</a></li>
<li id="4"><a href="/company/?id=214">Наши партнеры</a></li>
<li id="5"><a href="/company/?id=13">Наши клиенты</a></li>
<li id="6"><a href="/archive/?id=1731">Архив мероприятий</a></li>
</ul></li>
<li id="service"><a href="/service">Сервис</a></li>
<li id="prod"><a href="/production">Продукция</a></li>
<li id="solutions"><a href="/solutions">Решения</a></li>
<li id="contact"><a href="/contacts">Контакты</a></li>
<li id="partners"><a href="/partners">Партнерам</a></li>
</ul>


<div id="globalsearch">
<form name="searchform" method="post" action="../search/">
<input type="text" class="cf1" name="search">
<input type="button" value="поиск" onclick="check_form()" id="button">
</form>
</div>




Так вот... надо бы для выпадающего UL выставить координаты для каждой кнопки, точно так же как и для верхних LI (которые постоянно отображаются в линию, как нормальное горизонтальное меню).

А CSS наследует свойства бекграунда из вышестоящих LI и вложенный в LI список со своими LI уже меня не слушается и не хочет применять к себе ни свойства ширины, ни свойства бэк-а. Пробовал применить св-ва ширины к выпадающему UL и к вложенным в него LI, одна фигня - не слушается.

Как же мне сделать красивое меню на основе одной картинки??? Без нее никуда... тут простым заданием цвета фона не обойтись, крысата нужна блин.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 27.8.2009, 21:50; Ответить: ZiTosS
Сообщение #2


Zinder, советую подучить HTML. Аттрибут id не может начинаться с цифры.

А вообще ужас делать подобное... Представляю сколько ваша картинка будет грузиться.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Zinder
Zinder
Topic Starter сообщение 28.8.2009, 0:29; Ответить: Zinder
Сообщение #3


Всё грузится нормально... в том то и дело, что на все большое меню одна картинка. Координаты высчитать не сложно.
Спасибо большое! Всё дело было в этих гадских id-шках. Поменял на буквы... сейчас красота. :mellow:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 29.8.2009, 23:42; Ответить: ZiTosS
Сообщение #4


Zinder, Ну в коей-то мере вы и правы, но я бы всё же не стал делать подобных ухищрений и сделал бы один бекграунд со сменой при наведении, и кода бы подобного писать не пришлось.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПеренести меню
1 Викторио_mw 1444 28.8.2018, 0:10
автор: TimurR
Открытая тема (нет новых ответов) Необходимо разрезать и установить Меню для группы ВКонтакте
2 boltuk 3383 4.12.2017, 14:44
автор: tezoro
Открытая тема (нет новых ответов) Помогите с меню - переделать в выпадающее
1 lepota 1127 4.12.2017, 13:29
автор: yury_mw
Открытая тема (нет новых ответов) Слайдер под меню
0 Olya_Poy 4631 29.11.2017, 11:09
автор: -garmoni-
Открытая тема (нет новых ответов) На разных разрешениях меню выглядит по разному
0 SPiar 4810 28.9.2017, 17:45
автор: -korotkov-


 



RSS Текстовая версия Сейчас: 19.3.2024, 8:16
Дизайн