2009-10-08 1 views
0

У меня есть набор полей внутри набора полей. Каждый тип поля меняет цвет при зависании. Отлично работает в Firefox, но в IE8 и IE8 в режиме совместимости с IE7, когда я наводил курсор на дочерний набор полей, он перескакивает (похоже, что некоторые дополнения удаляются, но это не то, что говорит мой css).Предотвратите прыгающий набор полей при наведении указателя мыши в IE8

Может ли кто-нибудь помочь мне разобраться, как предотвратить скачкообразный эффект в IE? Почему скачок дочернего поля при наведении курсора, но не на родительский набор полей?

<!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" > 
<head> 
    <style type="text/css"> 
     fieldset.property { background-color: #EDF5FF; } 
     fieldset.property:hover { background-color: #C1DDFF; } 
     fieldset.service:hover { background-color:#EDF5FF; } 
    </style> 
</head> 
<body> 
    <fieldset class="property"> 
     Parent fieldset<br /> 
     Parent fieldset<br /> 
     Parent fieldset<br /> 
     <fieldset class="service"> 
      Child<br /> 
      Child<br /> 
      Child<br /> 
     </fieldset> 
     Parent fieldset<br /> 
     Parent fieldset<br /> 
     Parent fieldset<br /> 
    </fieldset> 
</body> 

ответ

3

Я тоже не уверен, почему именно IE обрабатывает дочерние элементы таким образом, а в частности, определения отступов и часто, поля, а также, Тхи s можно предотвратить.

fieldset {margin: 0; padding: 0;}

+0

Кто-нибудь знает, если это считается ошибкой в ​​IE или это по дизайну? – slolife

+0

Я бы не счел это ошибкой. Каждый браузер отображает поля и отступы по-разному. Определяя конкретное значение для обоих атрибутов, каждый браузер будет отображать в соответствии с CSS. – Slevin

+0

Различные отступы/поля не являются ошибкой. Это прекрасно, и я научу меня использовать сброс css в будущем. Скачкообразное дочернее поле на панели управления, похоже, является ошибкой IMO. В любом случае, спасибо за помощь – slolife

0

Я до сих пор не знаю, почему IE8 делает ребенок нервным, но я нашел исправление:

Если добавить стиль явно установить отступы на FIELDSET, то FIELDSET остается неизменным, когда парил над:

/* Add to make rendering in IE and Firefox the same /* 
fieldset { padding:2px; } 

 Смежные вопросы

  • Нет связанных вопросов^_^