Проблемы с позицией: абсолютный элемент при печати - IE8 - PullRequest
2 голосов
/ 23 мая 2011

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

Проблема в том, что когда элемент размещается на второй странице, IE8 считает, чтоверхняя часть страницы на второй странице, вместо первой.

Это в моем файле print.css:

.myElem{
  position:absolute;
  top:0;
  right:0;
  width:230px;
}

Во всех других браузерах (Opera 11, Firefox 3.6, Safari.5, Chrome 11, IE9, режим совместимости IE9, режим совместимости IE8) .myElem-div будет напечатан на первой странице в верхнем правом углу.Но в IE8 div печатается в верхнем правом углу второй страницы.Как было сказано ранее, div находится "на второй странице печати" в DOM.Я не могу переместить элемент выше в моем DOM, так что это не решение.

На самом деле это та же проблема, что описана в комментариях других пользователей здесь: http://msdn.microsoft.com/en-us/library/ms533005%28v=vs.85%29.aspx#CommunityContent

У кого-нибудь есть решение этой проблемы?

Большое спасибо заранее!

С уважением, Ким

1 Ответ

0 голосов
/ 24 мая 2011

Два возможных обходных пути ... не совсем исправления.

  1. Создание версий страниц, пригодных для печати, для которых не требуется doctype, что, вероятно, заставляет IE8 задыхаться. Конечно, это большая работа ... если у вас не слишком много страниц или вы не можете генерировать эти страницы динамически, используя технологию на стороне сервера.

  2. Создайте таблицу стилей только для IE8, используя условные комментарии, например <!-- [if IE 8]> <link rel="stylesheet" type="text/css" href="ie-8.0.css" /> <![endif]-->, и используйте эту таблицу для удаления этого div вместе с display:none;, предполагая, что вы можете обойтись без него.

...