Достаточно сказать, что у нас есть
анимированный GIF абсолютно позиционируется. Это
~ 600 х 400. он сидит под
другой абс. позиционируется div, который
обеспечивает прозрачность слоя. в заключение
сама форма абс. позиционированный
за это.
<style type="text/css">
#img {
position: absolute;
}
#dv {
background-color: transparent;
border: 1px solid Black;
height: 450px;
position: absolute;
width: 600px;
}
#frm {
left: 170px;
position: absolute;
top: 100px;
}
</style>
<img src="http://vulcan.wr.usgs.gov/Imgs/Video/MSH/MSH06/MSH06_MOVIE_before_after_from_brutus_10-21_and_10-22-06_animated.gif" id="img">
<div id="dv">
</div>
<form id="frm">
<input type="text">
</form>
Я пытался воспроизвести то, что вы описали, как можно точнее. Я загрузил вышеизложенное в IE 6, 7 и 8 и не смог увидеть никаких проблем с мерцающим курсором.
Учитывая, что я могу придумать реализацию, которая не демонстрирует проблему, похоже, нет общей ошибки animated-gif-reason-input-cursor-flickering в IE 7, в вашей конкретной разметке и CSS выявляет проблему в этом браузере.
Убери гифку и проблему
уходит.
зная, что анимация
GIF является причиной для рисования экрана
является результатом успешной отладки.
Конечно, добавление анимированного GIF-файла - это последняя часть головоломки, ведущая к тому, что вы видите. Но, как я продемонстрировал, вы можете иметь абсолютно позиционированную форму поверх абсолютно позиционированного анимированного GIF с прозрачным div между ними, и курсор не мерцает.
Я думаю, что вам придется отбрасывать то, что вы делаете, по одному слою за раз, пока вы не сможете точно определить, что именно в вашей разметке или CSS представляет проблему.
Существует еще одна возможность: мерцание, которое вы видите, может быть артефактом вашей видеокарты и / или видеодрайвера. Вы можете попробовать просмотреть страницу в IE 7 на машине с совершенно другим оборудованием, чтобы исключить эту возможность.