#internet-explorer #internet-explorer-8 #cross-browser
#internet-explorer #internet-explorer-8 #кроссбраузерный
Вопрос:
Мой код:
<td width="70" height="60">
<a href="images/Gallery1/6.jpg" rel="lightbox" title="my title" >
<img src="images/Gallery1/thumbs/6.jpg" width="65" height="40" border="0" class="gallery-img">
</a>
</td>
И CSS:
.gallery-img{
border:4px solid #FFFFFF;
}
.gallery-img:hover{
border:4px solid #D4D5D8;
}
Приведенный выше код отлично работает в Firefox, но не при использовании IE 8. Как я могу это исправить?
Ответ №1:
Это будет работать в IE8, если вы находитесь в стандартном режиме.
Это не сработает, если вы находитесь в режиме причуд:
:hover
не работает для не-a
элементов в IE6 и IE7 / 8 в режиме Quirks.
Тот факт, что вы используете таблицы для компоновки, наводит меня на мысль, что из всех возможных причин здесь ответом является нахождение в режиме Quirks.
Прочитайте эту длинную и подробную статью:
http://hsivonen.iki.fi/doctype/
Короче говоря, вам нужно убедиться, что у вас есть правильный doctype в качестве самой первой строки в вашем HTML, например:
<!DOCTYPE html>
Вы можете убедиться в том, что я говорю, открыв соответствующую страницу в IE и нажав F12, чтобы открыть Инструменты разработчика. Если для «Режима документа» указано режим Quirks, ваш фрагмент CSS никогда не будет работать. После добавления doctype в нем должно быть написано «Стандарты IE8», и все это должно сработать.
Если он по-прежнему не работает, значит, у вас какая-то другая проблема, не позволяющая IE использовать стандартный режим.
Ответ №2:
Попробуйте удалить border="0"
из вашего HTML-тега img.
Ответ №3:
На какой версии IE вы это тестируете?
Ранние версии (версия 6) IE поддерживали ТОЛЬКО указатель наведения курсора на a
(link) элементы и ничего больше. Более новые версии должны поддерживать это, но у меня нет личного опыта, чтобы доказать это.
О IE6 было написано следующее: http://www.howtocreate.co.uk/wrongWithIE/?chapter=:hover
Ответ №4:
у меня работает. Я пробовал это в Chrome, IE 8 и 9:
даже с вашим обновленным кодом он все еще работает:
но это правда — попробуйте переместить все атрибуты width и height, border в CSS — там им самое место.
Кроме того, у вас могут быть другие определения, какой-либо специфичный для IE CSS-файл или правила? Проверьте их также.
Ответ №5:
Проверьте это:
a .gallery-img{
border:4px solid #FFFFFF;
}
a:hover .gallery-img{
border:4px solid #D4D5D8;
}
Я думаю, что это сработает. Спасибо