CSS3 PIE не масштабирует фоновые изображения в IE - PullRequest
3 голосов
/ 08 марта 2011

У меня есть PIE на моем сайте, так что IE может делать радиус границы, тени и т. Д. Все было хорошо, пока я не решил сделать загрузку сайта немного быстрее, конвертируя обычные фоновые изображения.в спрайт и позиционирование их с помощью CSS.Это работает нормально, пока вы не увеличите масштаб в IE.Несмотря на то, что размер div, border-radius и тени хорошо изменяются, фоновое изображение не масштабируется и в конечном итоге показывает другие спрайт-изображения.

Кто-нибудь знает, как отсортировать PIE (либо css, либо возняповедение), чтобы он хорошо себя вел в IE, когда пользователь изменяет масштаб страницы?

1 Ответ

3 голосов
/ 09 марта 2011

Не идеально, но прибегли к удалению атрибута поведения из каждого элемента с использованием javascript:

<!--[if ie]>
<script type="text/javascript">
function removeBehavior()
{
  if((screen.deviceXDPI / screen.logicalXDPI) != '1')
  {
    $("*").each(function(){
      $(this).css("behavior", "none");
    });
  }
}
removeBehavior();
window.onresize = removeBehavior;
</script>
<[endif]-->

Функция будет работать только в IE - она ​​проверяет размер экрана. Если это не 1 (равно 100%), то (используя jQuery) просмотрите весь dom и удалите атрибут поведения (или, по крайней мере, установите его как пустое значение).

Затем я вызываю функцию при вызове первой страницы и добавляю ее в событие onresize, если пользователь изменяет масштаб во время просмотра страницы.

Это не идеально, но работает.

...