Вопрос
Я создал класс CSS следующим образом:
div.ycontent div.ppclisting { background-color:#cccccc; }
div.ycontent div.ppclisting:hover { background-color:#FFE5DF; }
Я применил вышеуказанный стиль на одной из своих страниц, и он отлично работает в Firefox, IE 7.0+ и других последних браузерах.Но когда я применяю тот же стиль на другой странице, он не работает.
Может кто-нибудь сказать мне, в чем может быть причина?почему он не работает на другой странице.
Решение
Я получил ответ, почему :hover не работает на другой странице.На самом деле на второй странице тег DOCTYPE не был добавлен на страницу HTML, как показано ниже:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Раньше это было просто <html>
тег и из-за чего :hover на div не работал.После добавления тега doctype, как показано выше, он у меня работает.
Спасибо всем вам за помощь.
Другие советы
Только что была похожая проблема.Убедитесь, что вы складываете правильно!То есть z-индекс.
Если в одном месте он работает, а в другом нет, то либо он некорректно вызывается, либо некорректно применяется.
Используйте Firebug и посмотрите, какие свойства имеет элемент, который должен стили действительно есть.Затем проверьте имена классов на наличие опечаток.Обычно это решает описанную проблему.
Кроме того, в IE6 :hover
работает только с a
элементы.Запомни.
Я согласен с Брэндоном.
я тоже добавлю..
Если вы удалите:
div.ycontent
раздел из ваших строк, чтобы он выглядел так:
.ppclisting {
background-color:#cccccc;
}
.ppclisting:hover {
background-color:#FFE5DF;
}
Возможно, вы обнаружите, что это будет работать на другой вашей странице.
Почему?Потому что вы определили эти стили как «классы».Классы намерены применять один и тот же стиль множество раз.
Размещая перед ним «div.ycontent», вы по сути «ограничиваете»/не используете потенциал классов CSS.
Может быть, вложенный div на другой странице не имеет класса ycontent и/или сам элемент не является классом ppclising?
У меня только что была позиция: абсолютная, когда родитель сломал мой :hover, хотя, похоже, это не проблема для дедушки и бабушки.Я новичок во всем этом, поэтому не знаю, нормально это или нет.
Поправка:Для меня это оказалось проблемой z-index.Мне нужно было поставить -1 для родительского элемента, 0 для всех братьев и сестер с указанной позицией и 1 для элементов div, для которых я хотел активировать наведение.