HTML: в стандартном режиме IE9 печатать TFOOT на каждой странице - PullRequest
8 голосов
/ 10 марта 2011

Таблицы в HTML могут иметь " нижние колонтитулы ":

<TABLE>
   <THEAD><TR><TD>Your header goes here</TD></TR></THEAD>
   <TFOOT><TR><TD>Your footer goes here</TD></TR></TFOOT>
   <TBODY>
      <TR><TD>
         Page body in here -- as long as it needs to be
     </TD></TR>
   </TBODY>
</TABLE>

Обычно устаревший Internet Explorer отображает только TFOOT внизу всей таблицы. Но был стиль, который можно применить к TFOOTTHEAD), чтобы он печатался внизу каждой страницы, охватываемой таблицей. От MSDN :

table-footer-group
Объект отображается как tFoot . Нижний колонтитул всегда отображается
после всех других строк и групп строк и перед любыми нижними подписями.
Нижний колонтитул отображается на каждой странице, охватываемой таблицей.

Добавление table-footer-group в качестве стиля к TFOOT заставляет его (в Internet Explorer) печатать внизу каждой страницы, охватываемой таблицей:

<STYLE type="text/css">
   tfoot { display: table-footer-group; }
</STYLE>

Но если IE9 ( релиз-кандидат ) переведен в стандартный режим:

<!DOCTYPE html>

тогда TFOOT больше не отображается внизу каждой страницы, охватывающей таблицу, а только в конце всей таблицы.

я проверил спецификацию HTML , чтобы увидеть, каково правильное поведение, и оно не определено!:

Группа таблиц нижнего колонтитула (в HTML: TFOOT)
Как 'table-row-group', но для визуального форматирование, группа строк всегда отображается после всех других строк и строк группы и перед любыми нижними подписями. Печать пользовательских агентов может повторить нижний колонтитул строки на каждой странице, охватываемой таблицей. Если таблица содержит несколько элементов с 'display: table-footer-group', только первое отображается как сноска; другие рассматриваются как у них было «display: table-row-group».

Примечание: Выделен эффект для эффекта.

Есть ли способ в стандартном режиме IE9 для меня выбрать печать TFOOT внизу каждой страницы, натянутой на таблицу?

Обновление 1

Интересно отметить, что table-footer-group является типичным значением по умолчанию для TFOOT элементов, но в предыдущих версиях IE вы могли выбирать, какое поведение вы хотели:

  • низ всей таблицы
  • нижняя часть всей таблицы и каждая промежуточная страница

, включив стиль.

Обновление Два

Как сейчас, я заставляю Internet Explorer оставаться в стандартном режиме IE8 с:

<!DOCTYPE html>
<HTML>
<HEAD>
   <META http-equiv="X-UA-Compatible" content="IE=8" />
   <!--IE8 Standards mode, so that we get the THEAD at the top, and the TFOOT at the bottom, of every page-->

Смотри также

1 Ответ

2 голосов
/ 17 марта 2011

В HTML поведение было неопределенным.Браузеры могут:

  • отображаться после всей таблицы
  • отображаться внизу каждой страницы.

Поведение, которое я испытывал, было вКандидат в обозреватель Internet Explorer 9.

В окончательной версии Internet Explorer 9 (версия 9.0.8112.1642 окончательная первоначальная версия) TFOOT постоянно отображается внизу каждой напечатанной страницы.

В более ранних версиях IE вы могли выбирать между:

  • TFOOT, появляющимися внизу каждой страницы
  • TFOOT, появляющимися после таблицы

путем ручного указания стиля TFOOT css:

tfoot { display: table-footer-group; }

Даже если tfoot уже имеет стиль отображения table-footer-group, , в частности , включая егосказал бы IE, что вы хотите печатать TFOOT внизу каждой страницы.(а не после таблицы).

Не с его указанием (поведение по умолчанию) заставит IE напечатать TFOOT после всей таблицы.

Если вы используете IE9 и хотите, чтобы после печати всей таблицы отображалось TFOOT, вам придется перевести Internet Explorer в режим стандартов IE8:

<!DOCTYPE html>
<HTML>
<HEAD>
   <META http-equiv="X-UA-Compatible" content="IE=8" />
   <!--IE8 Standards mode, so that we get the TFOOT after the entire table has printed, not at the bottom of each printed page-->
   ...
...