Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не работает hover в IE
 
 автор: Golovastik   (16.09.2010 в 01:16)   письмо автору
 
 

Во всех ИЕ и др. браузерах работает, а вот в ИЕ6 не работает hover при наведении мышкой на меню,фон пункта меню белым не делаеться ,как делаеться на др. браузерах.
Вот стиль который отвечает за наведение:

#left .menu div:hover {
background-color:white; /*Чтоб при наведении каждый пункт светился белым*/
cursor:pointer;
}

Скажите, как исправить?
Вот сайт:
http://tort-tort-tort.narod.ru

  Ответить  
 
 автор: sl1p   (16.09.2010 в 01:22)   письмо автору
 
   для: Golovastik   (16.09.2010 в 01:16)
 

в ИЕ6 :hover работает только для ссылок.

используйте JS,

#left .menu div:hover,
#left .menu div.jshover { 
background-color:white; /*Чтоб при наведении каждый пункт светился белым*/ 
cursor:pointer; 
}
<div onmouseover="this.className = 'jshover'" onmouseout="this.className = ''"></div>

  Ответить  
 
 автор: Golovastik   (16.09.2010 в 01:35)   письмо автору
 
   для: sl1p   (16.09.2010 в 01:22)
 

Скажите, а как в моём случаи применить вот эту строку
<div onmouseover="this.className = 'jshover'" onmouseout="this.className = ''"></div>


для каждого пункта меню, у меня овт так идёт в коде для пунктов.

  <div id="left">
   <div class='title'></div>
   <div class="menu" >

  <a href="/videolessons/1.php"><div id="ikonka_menu1">Пункт1</div></a>
  <a href="#"><div id="ikonka_menu2">Пункт2</div></a>
  <a href="#"><div id="ikonka_menu3">Пункт3</div></a> 
 
     </div>
        <div class='title'></div>
</div> <!--Закрываем id="left"-->

  Ответить  
 
 автор: АЯ   (16.09.2010 в 02:09)   письмо автору
 
   для: Golovastik   (16.09.2010 в 01:35)
 

Совсем плохо у Вас с "соображалкой" - я Вам искренне сочувствую.

Псевдокласс :hover в браузере MSIE работает ТОЛЬКО со ссылками, сиречь с тегами <A>.
Это Вам понятно?

Не торопитесь отвечать, что, мол, "понятно".
Ибо по выложенному Вами коду видно, что Вам это непонятно СОВСЕМ.

Запустите и проверьте в браузерах (в том числе и в MSIE) следующий код:
<style>
a:link  div {color: lime}
a:hover div {color: blue}
</style>

<a href="#"><div>Link1</div></a>
<a href="#"><div>Link2</div></a>
Видите - никаких onmouseover(-out ) нет, а всё работает.
Подумайте... и примените для своего случая.

  Ответить  
 
 автор: mihdan   (16.09.2010 в 18:44)   письмо автору
 
   для: АЯ   (16.09.2010 в 02:09)
 

Так-то оно так, но только не семантично - внутри inline-элемента (A) блочный-элемент(DIV).

  Ответить  
 
 автор: ~AquaZ~   (16.09.2010 в 23:29)   письмо автору
 
   для: mihdan   (16.09.2010 в 18:44)
 

Да, почему люди привыкли на всё надевать презерватив? Выкиньте дивы вообще...

  Ответить  
 
 автор: sl1p   (16.09.2010 в 23:52)   письмо автору
 
   для: mihdan   (16.09.2010 в 18:44)
 

из inline можно легко сделать block так что это не трабл)

  Ответить  
 
 автор: Bombey   (23.09.2010 в 11:24)   письмо автору
 
   для: sl1p   (16.09.2010 в 23:52)
 

Это действительно можно сделать. Но валидатор хтмл никакого отношения к цсс не имеет. Потому код останется невалидным.

  Ответить  
 
 автор: Bombey   (23.09.2010 в 11:30)   письмо автору
 
   для: Golovastik   (16.09.2010 в 01:16)
 

#left .menu div:hover {
background-color:white; /*Чтоб при наведении каждый пункт светился белым*/
cursor:pointer;
}

Предпочитаю использовать jQuery и не засорять хтмл код всякими onclick.
Сам код будет таким.


$(function () {

  $('#left .menu div').hover(
    function () {
      $(this).css({ background-color: 'white', cursor: 'pointer' });
    },
    function () {
      // тут в таком же стиле описываете обычное состояние вашего div
    }
  );
});


Кстати, cursor:pointer можно и нужно прописать для обычного состояния див, тоесть
#left .menu div {
cursor:pointer;
}
Ведь все равно, пока посетитель не наведет на див курсором, он не будет видеть, изменилась его форма или нет.

Удачи!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования