JavaScript可以更改@page CSS的值吗? [英] Can JavaScript change the value of @page CSS?

查看:1322
本文介绍了JavaScript可以更改@page CSS的值吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下CSS会影响网页默认以纵向或横向打印。

The following CSS affects whether a page prints in portrait or landscape by default.

@page {
   size: landscape;
}

我意识到这只适用于非常有限的一组浏览器,用户可以覆盖它。没关系;我只是想提供一个良好的默认。

I realize that this only works on a very limited set of browsers, and that the user can override it. That's okay; I'm just trying to provide a good default.

这在CSS中作为一个静态值很好,但我想在纵向&景观基于用户选择。是否可以使用JavaScript更改此值?

This works fine as a static value in CSS, but I'd like to switch dynamically between portrait & landscape based on on user choices. Is it possible to use JavaScript to change this value?

推荐答案

一个简单的方法是为@page创建单独的样式, it:

One simple way is to create a separate style for @page and change it:

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');

这篇关于JavaScript可以更改@page CSS的值吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆