Реклама на сайте Advertise with us

Выпадающее меню на CSS - нужна помощь

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

чоткий дезайнер

С нами с 20.07.06
Сообщения: 1782
Рейтинг: 731

Ссылка на сообщениеДобавлено: 11/11/08 в 11:49       Ответить с цитатойцитата 

Можно ли сделать выпадающее меню (при наведении мышкой) на CSS, чтоб работало во всех браузерах, но без ипользования javascript и каких-либо дополнительных файлов?

я делаю по такому способу

HTML:
Код:

<ul>
<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>
<ul>


CSS:
Код:

ul li ul {display: none}
ul li:hover ul, ul li ul:hover {display: block}


но это не работает в IE, если не применить хак - в CSS указываю ссылку на файл csshover.htc (с нета скачал), тогда в ИЕ работает.
Хотелось бы обойтись без хаков.

И можно ли сделать чтобы выпадающее меню появлялось не при наведении, а при клике на пункт меню?

Последний раз редактировалось: Petek (12/11/08 в 22:15), всего редактировалось 1 раз

Дизайн (CJ от 40$, AVS от 80$)

0
 



С нами с 25.12.06
Сообщения: 31
Рейтинг: 47

Ссылка на сообщениеДобавлено: 11/11/08 в 13:35       Ответить с цитатойцитата 

HTML:
Код:

<div id="list_content">
   <ul id="lists">
                  <li><a href="#" class="tl">Title<!--[if IE 7]><!--></a><!--<![endif]-->
                     <!--[if lte IE 6]><table><tr><td><![endif]-->
                  <div class="pos1">
                     <dl>
                        <dd><a href="#">Link</a></dd>
                        <dd><a href="#">Link</a></dd>
                     </dl>
                     <dl>
                        <dd><a href="#">Link</a></dd>
                        <dd><a href="#">Link</a></dd>
                     </dl>
                  </div>
                  <!--[if lte IE 6]></td></tr></table></a><![endif]-->
                  </li>
                  <li><a href="#" class="tl">Title2<!--[if IE 7]><!--></a><!--<![endif]-->
                     <!--[if lte IE 6]><table><tr><td><![endif]-->
                  <div class="pos1">
                     <dl>
                        <dd><a href="#">Link2</a></dd>
                        <dd><a href="#">Link2</a></dd>
                     </dl>
                     <dl>
                        <dd><a href="#">Link2</a></dd>
                        <dd><a href="#">Link2</a></dd>
                     </dl>
                  </div>
                  <!--[if lte IE 6]></td></tr></table></a><![endif]-->
                  </li>                  
               </ul>
</div>


CSS:
Код:

#list_content { position: relative; float: left; }
#lists {float: left; height: 50px;}
#lists li { width: 100px; float:left; list-style: none; padding-bottom: 30px; }
#lists li a.tl {width: 100px; text-transform: uppercase; height:45px; padding-bottom: 20px; }
#lists div {display:none;  }
.pos1 { z-index: 500; }
#lists li a:hover { white-space:normal; background-position:130px 15px;}
#lists li:hover > a { white-space:normal; background-position:130px 15px;}
#lists :hover div { display:block; width:240px; position:absolute; left:0; top:34px; border:1px solid #013034; }
#lists :hover div dl {display:inline; float:left; width:110px;}
#lists :hover div dl dd { margin-left: 5px; }
#lists :hover div dd a {display:block; text-decoration:none;  text-align: left; font-size: 1em; text-transform: none;}
#lists :hover div dd a:hover {text-decoration: underline;}


Конечно полностью без хаков обойтись тяжелоicon_smile.gif
Вот тебе еще пара ссылок на похожую реализацию:
вертикальное меню и горизонтальное.

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

5
 

чоткий дезайнер

С нами с 20.07.06
Сообщения: 1782
Рейтинг: 731

Ссылка на сообщениеДобавлено: 11/11/08 в 14:06       Ответить с цитатойцитата 

Domior, сэнкс, будем разбираться, но код большой конечно, ещё и таблицы, смотрю, там какие-то )

Дизайн (CJ от 40$, AVS от 80$)

0
 

чоткий дезайнер

С нами с 20.07.06
Сообщения: 1782
Рейтинг: 731

Ссылка на сообщениеДобавлено: 12/11/08 в 22:14       Ответить с цитатойцитата 

гуру css, помогайте! icon_smile.gif

короче, делаю выпадающее меню по своему варианту, решил сделать ссылки с display:block, в ИЕ проверяю, там 2 ошибки:

1. "Меню 2" и "Меню 3" - при наведении мышки бэкграунд меняется, но только, если наводить мышку на уровне текста и выше, ниже текста - нифига, хотя ссылка блоковая и в нормальных браузерах работает.

2. Выпадающее меню работает, но если навести мышку ниже "Подменю 1" исчезает.

Я уже заколебался варианты искать,
вот он пациент icon_smile.gif

porndiz.com/test/

Дизайн (CJ от 40$, AVS от 80$)

0
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 12/11/08 в 23:46       Ответить с цитатойцитата 

Видимо очередные глюки ИЕ с float'ом icon_smile.gif
Если размер верхних менюшек предполагается быть одинаковым, то задай фиксированную ширину в "div#topmenu a".

5
 

чоткий дезайнер

С нами с 20.07.06
Сообщения: 1782
Рейтинг: 731

Ссылка на сообщениеДобавлено: 12/11/08 в 23:56       Ответить с цитатойцитата 

Mika, спасибо, можно и так, хотя изначально предполагал разный размер делать

Дизайн (CJ от 40$, AVS от 80$)

0
 

Адалт кутюрье

С нами с 16.04.06
Сообщения: 1322
Рейтинг: 827

Ссылка на сообщениеДобавлено: 13/11/08 в 00:21       Ответить с цитатойцитата 

http://www.cssplay.co.uk/menus/final_drop.html


зы - а ёпт, это наверное и есть код Домиор. Ну ладно, погляди как оно в оригинале.

Одеваю сайты Adult Concept Design Меняю денюжку erMoney.com

5
 

чоткий дезайнер

С нами с 20.07.06
Сообщения: 1782
Рейтинг: 731

Ссылка на сообщениеДобавлено: 13/11/08 в 09:11       Ответить с цитатойцитата 

Dizman© писал:
http://www.cssplay.co.uk/menus/final_drop.html


зы - а ёпт, это наверное и есть код Домиор. Ну ладно, погляди как оно в оригинале.

ага, там тоже с таблицами, не хочу усложнять )

короче, я указал фиксированную ширину для a в подменю, а главное может менять размеры,
проблема с наведением мышки ниже текста в Меню 2 и 3 правда не решилась, но подменю теперь не исчезает

Дизайн (CJ от 40$, AVS от 80$)

0
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 13/11/08 в 23:42       Ответить с цитатойцитата 

Petek писал:
проблема с наведением мышки ниже текста в Меню 2 и 3 правда не решилась, но подменю теперь не исчезает

Хм... странно, что не решилась. Только что проверил у себя - нормально меню подсвечается в ИЕ6.

5
 

чоткий дезайнер

С нами с 20.07.06
Сообщения: 1782
Рейтинг: 731

Ссылка на сообщениеДобавлено: 14/11/08 в 09:28       Ответить с цитатойцитата 

Mika писал:
Хм... странно, что не решилась. Только что проверил у себя - нормально меню подсвечается в ИЕ6.

хз, я тоже в ИЕ6 смотрел.

щас у меня тоже работает, но после того как я добавил для ИЕ правила
Код:

* html #topmenu a {
   float: left;
   }
* html div#topmenu ul li ul {
   clear: both
   }

я сделал для бэкграунда ссылки 2 картинки, чтоб они раздвигались при увеличении текста в ссылке меню, для этого внутрь ссылки поместил тег <b> (для привязки второго бэкграунда) и сделал его блоком, но ИЕ не видел тег <b> вообще, поэтому добавил верхние правила, после этого ИЕ увидел <b> и заодно проблема решилась, хотя может она раньше (в процессе переборки различных вариантов) решилась, я не проверял icon_smile.gif

Дизайн (CJ от 40$, AVS от 80$)

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »