2014-09-29 4 views
0

У меня есть календарь, который в основном рисуется с помощью SVG. Некоторые аспекты рисования, такие как язык, управляются входами в диалоговом окне интерфейса JQuery. При печати из браузера я использую раздел CSS для мультимедиа, который скрывает диалог и другие компоненты страницы, не связанные с календарем, поэтому печатается только календарь.JQuery UI Скрытый диалог вмешивается с печатью

Все это работает хорошо. Даже если диалог отображается в браузере, календарь печатается, как ожидалось, без отображения диалога.

Пока диалог центрирован по календарю или сдвинут влево. Если диалог виден и перемещен справа от страницы, даже частично, печатная версия резко сокращается, примерно до половины ее нормального размера. Перемещение диалога назад влево возвращает печатную версию в нормальный размер.

Я пробовал скрывать все ui- * компоненты в прессе. Печать CSS с использованием видимости: скрытая и отображаемая: нет, без успеха. Я просунул код с инспектором, ища большой размер div, который может вызвать это, но я вышел пустым.

Если диалог отклонен, все в порядке.

Это происходит во всех браузерах, которые я пробовал - IE 11, и любых последних версиях Firefox и Chrome.

ответ

0

После того, как вы уже много раз выкачали, это вызвано тем, что JQuery UI записывает информацию о стиле для некоторых своих компонентов в ряд. поэтому «display: none» в моей таблице стилей терял приоритет перед «display: block» JQUI заставлял его компонент. Измените правило стилей для отображения: none! Important 'исправлено это.

Я не думаю, что это хороший дизайн или решение, но я не знаю, как еще обратиться к нему. JQUI следует избегать использования встроенных стилей и придерживаться того, чтобы сохранить информацию стиля в файле стилей, как это делается с соответствующим правилом видимости: скрытое, которое оно использует для этого компонента, когда оно не отображается.