: псевдо-класс CSS hover не работает в IE7 - PullRequest
5 голосов
/ 16 января 2010

У меня проблема с псевдоклассом :hover CSS.

Я использую это как

tr.lightRow:hover {
    color:red
} 

Он работает в Safari и Firefox, но не работает в IE7. Пожалуйста, помогите мне.

Ответы [ 5 ]

5 голосов
/ 16 января 2010

IE7 поддерживает: hover, хотя бы в стандартном режиме. Может не в режиме причуд.

4 голосов
/ 16 января 2010

IE имеет историю плохой поддержки CSS. Первоначально поддерживаются только a теги :hover. А также вы не могли иметь что-то вроде a:hover span, чтобы указать, что только тег span должен меняться при наведении на родительский элемент a.

Если вы хотите корректную функциональность :hover во всех версиях IE, вам нужно использовать javascript и onmouseover / onmouseout.

Также полезно, если вы используете тип документа xhtml для включения режима стандартов.

3 голосов
/ 16 января 2010

IE 6 поддерживает только псевдокласс :hover для ссылок, но IE 7 поддерживает его для большинства элементов.

Как упоминал Дэвид, он может не работать в режиме причуд. Причиной может быть то, что IE в основном возвращается к чему-то более близкому к IE 4 в режиме причуд, позволяя использовать множество специфических функций IE и удаляя некоторые совместимые со стандартами функции.

Если вам нужна функциональность :hover для блочного элемента и поддержка обратно в IE 6, вы можете использовать элемент link и сделать его блочным элементом с помощью CSS. Обратите внимание, что ссылка может содержать только встроенные элементы (например, не div s), поэтому, если вы хотите, чтобы блокирующие элементы находились внутри ссылки, вы должны установить это с помощью CSS:

CSS:

.hoverlink { display: block; }
.hoverlink:hover { background: #eee; }
.hoverlink .item { display: block; }

HTML:

<a href="..." class="hoverlink">
  <span class="item">Line 1</span>
  <span class="item">Line 2</span>
  <span class="item">Line 3</span>
</a>

(Возможно, вы захотите рассмотреть влияние на поисковые системы, использующие эту технику. Ссылка имеет большее влияние, если она просто содержит текст с описанием того, на что она ссылается.)

0 голосов
/ 16 января 2010

Я сталкивался с этим несколько раз - взгляните на следующую ссылку ..

http://www.bernzilla.com/item.php?id=762

"если вам нужна поддержка: hover для всех элементов, а не только для тега , убедитесь, что вы используете строгий DOCTYPE, чтобы IE7 не переходил в режим причуд."

0 голосов
/ 16 января 2010

: наведение не поддерживается каждым элементом, например он работает на <a>, но работает на <div> afaik

...