Может ли JavaScript изменить значение CSS-страницы?
Следующий CSS влияет на то, будет ли страница печатать в портретной или альбомной по умолчанию.
@page {
size: landscape;
}
Я понимаю, что это работает только на очень ограниченном наборе браузеров и что пользователь может переопределить его. Это хорошо; Я просто пытаюсь обеспечить хороший дефолт.
Это отлично работает как статическое значение в CSS, но я бы хотел динамически переключаться между портретом и ландшафтом, основываясь на выборе пользователя. Можно ли использовать JavaScript для изменения этого значения?
Ответы
Ответ 1
Один простой способ - создать отдельный стиль для @page и изменить его:
var cssPagedMedia = (function () {
var style = document.createElement('style');
document.head.appendChild(style);
return function (rule) {
style.innerHTML = rule;
};
}());
cssPagedMedia.size = function (size) {
cssPagedMedia('@page {size: ' + size + '}');
};
cssPagedMedia.size('landscape');