В настоящее время я пытаюсь распечатать страницу, содержащую контрольные списки, и каждый список имеет небольшую текстовую область под ним. При печати отображаются только проверенные элементы, в результате чего контрольные списки изменяются по высоте. Я хочу, чтобы все контрольные списки имели одинаковую высоту, чтобы текстовая область под каждым была выстроена в линию.
В настоящее время я использую JS для циклического прохождения этих контрольных списков, чтобы получить самый высокий, чтобы я мог установить высоту для печати. Я попытался переключить класс с желаемой высотой для печати, но это, конечно, влияет на главную страницу (я мог переключиться назад через секунду, НО, казалось, правило не применялось к печати, поэтому я его консервировал). Я нашел эту статью Дэвида Уолша, в которой есть раздел по вставке правил для медиазапросов, которые я пытался выполнить. Это самое близкое к тому, чего я пытаюсь достичь, НО это, похоже, не применимо к печати (я обновил этот же код, чтобы не использовать медиазапрос, и он сработал, поэтому я думаю, что моя переменная "newHeight"ок).
** Обновление: я думаю, что моя проблема связана с тем, как мой JS работает / не работает. Я столкнулся с чем-то, что, похоже, мешает запуску JS.
$.each(document.styleSheets, function(counter, styleSheet) {
if(styleSheet.href && styleSheet.href.endsWith('my_specified_sheet.css')) {
$.each(styleSheet.rules, function(_counter, rule) {
if(rule && rule.conditionText === "print") {
var newHeight = tallestSelectedItemsHeight + "px!important";
styleSheet.insertRule("@media print{ .print-height { height: " + newHeight + "; } }");
}
})
}
});