Предотвратить скачкообразный набор полей при зависании в IE8 - PullRequest
0 голосов
/ 08 октября 2009

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

Может кто-нибудь помочь мне разобраться, как предотвратить эффект скачка в 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>

Ответы [ 2 ]

3 голосов
/ 09 октября 2009

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

fieldset {margin: 0; утеплитель: 0;}

0 голосов
/ 08 октября 2009

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

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

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