Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Работа над сайтом > HTML/DHTML/CSS/JS/VB

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.03.2006, 21:08
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 1  
Ответить с цитированием
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
По умолчанию Проблема с CSS выпадающим меню в IE:(

Вот код выпадающего меню, которое работает в опере, нэтскейпе и мазиле (в других не смотрел), но майкрософт подкачал
Код HTML:
<html>
<style type="text/css">
<style>
/*Ubiraem markeri*/
ul {
margin: 0;
padding: 0;
width: 40;
list-style: none;
height: 24px;
border: none;
}
ul li {
position: relative;
}
/*Podmenu sprava*/
li ul {
position: absolute;
top:0;
left: 39;
display: none;
}
/*Stili ssilok*/
ul li a {
display: block;
}
/* Fix IE. Hide from IE Mac \*/
* html ul li { float: left; }
* html ul li a { height: 1%; }
/* End */
li:hover ul { display: block; }
</style>
</style>
<body> 
<ul> 
  <li><a href="#">One</a></li> 
  <li><a href="#">Two</a> 
    <ul> 
      <li><a href="#">Two_one</a></li> 
      <li><a href="#">Two_two</a></li> 
      <li><a href="#">Two_three</a></li> 
    </ul> 
  </li> 
</ul> 
</body>
</html>
Вот в IE подменюшки не выскактвают
Есть решение при участии JS:
Код:
startList = function() {
      if (document.all&&document.getElementById) {
            navRoot = document.getElementById("nav");
            for (i=0; i<navRoot.childNodes.length; i++) {
                  node = navRoot.childNodes[i];
                  if (node.nodeName=="LI") {
                        node.onmouseover=function() {
                              this.className+=" over";
                        }
                        node.onmouseout=function() {
                              this.className=this.className.replace »
                              (" over", "");
                        }
                  }
            }
      }
}
window.onload=startList;
Плюс к этому скрипту в стили добавляется это:
Код HTML:
li:hover ul, li.over ul { 
display: block; 
      }
А тэг гд модифицируется таким образом:
Код HTML:
<ul id="nav">
Теперь сам вопрос.. как заставить это меню выпадать в IE без JS? Просто такая ситуация, что я могу использовать только CSS

Заранее спасибо!

Старый 09.03.2006, 21:18
undeddy вне форума Посмотреть профиль Отправить личное сообщение для undeddy Найти все сообщения от undeddy
  № 2  
Ответить с цитированием
undeddy

Регистрация: Dec 2005
Адрес: Холодная Сибирь...
Сообщений: 268
Отправить сообщение для undeddy с помощью ICQ
Так как компания майкрософт почему-то решила что в IE псевдокласс hover будет определен только для гиперссылок (тегов <A>), то для IE решение этой задачи без JS невозможно.
НО! Я тоже так думал, пока вчера не увидел пример, где была решена твоя проблема. Вот только адрес забыл. Но там упор был сделан именно на таблицы.

Старый 09.03.2006, 21:39
2K WebStudio вне форума Посмотреть профиль Отправить личное сообщение для 2K WebStudio Посетить домашнюю страницу 2K WebStudio Найти все сообщения от 2K WebStudio
  № 3  
Ответить с цитированием
2K WebStudio
 
Аватар для 2K WebStudio

Регистрация: Jul 2002
Адрес: Russia Federation Moscow
Сообщений: 779
Отправить сообщение для 2K WebStudio с помощью ICQ
Цитата:
Сообщение от undeddy
Так как компания майкрософт почему-то решила что в IE псевдокласс hover будет определен только для гиперссылок (тегов <A>), то для IE решение этой задачи без JS невозможно.
НО! Я тоже так думал, пока вчера не увидел пример, где была решена твоя проблема. Вот только адрес забыл. Но там упор был сделан именно на таблицы.
Это 'но' крайне радует!
Буду очень благодарен, если найдёшь!

Старый 09.03.2006, 23:15
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 4  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
это НО фигня по определению потому что:
а) нам нужен не сам элемент А, другой элемент, а в ие псевдо-класс ховер мало того что только для ссылок, так ещё и ссылка самая последняя в правиле должна быть.
б) есть вариант наподебие
Код:
a:hover{smt:expression(this.className+=" over";this.onmouseout=function(){this.className=this.className.replace(" over","");})}
но это нифига не вариант, бо тотде жаваскрипт.
в) говори начальству или хзктоичто, что если у юзера нет жс, можно сделать, чтобы подменю отображалось прям под текущим пунктом типа подсписка но это максимум.
__________________
Breakcore them all!


Последний раз редактировалось KidsKilla; 09.03.2006 в 23:29.
Старый 09.03.2006, 23:15
Constantine вне форума Посмотреть профиль Отправить личное сообщение для Constantine Посетить домашнюю страницу Constantine Найти все сообщения от Constantine
  № 5  
Ответить с цитированием
Constantine
 
Аватар для Constantine

Регистрация: Jun 2000
Адрес: $_SERVER['REMOTE_ADDR']
Сообщений: 854
http://www.cssplay.co.uk/menus/dd_valid.html
__________________
X

Старый 09.03.2006, 23:28
KidsKilla вне форума Посмотреть профиль Отправить личное сообщение для KidsKilla Посетить домашнюю страницу KidsKilla Найти все сообщения от KidsKilla
  № 6  
Ответить с цитированием
KidsKilla
.grin! wuz here
 
Аватар для KidsKilla

Регистрация: Aug 2004
Адрес: paradise city
Сообщений: 3,981
Отправить сообщение для KidsKilla с помощью ICQ
Цитата:
Сообщение от Constantine
умываю руки, но это такой жуткий монстр...
проще сказать что нельзя без жс обойтись.
__________________
Breakcore them all!

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.