有没有办法使媒体打印CSS成为正常视图?

Cod*_*rKK 1 html javascript css printing

我开发了一个网站,其中包含一堆印刷媒体查询,以便在打印页面时对齐内容。当您在网络浏览器上进入打印模式时,查询效果很好。但我想@media print在常规网页上应用/删除这些查询,而不必进入打印模式。(通过单击按钮)有什么方法可以实现这一点吗?

小智 7

除了 Boldewyn 的答案之外,如果标签@media print内有样式<style>,您可以将它们替换为@media screen

Array.prototype.forEach.call(document.getElementsByTagName('style'), function(style) {
    style.innerText = style.innerText.replace(/@media print/gi, '@media screen');
});
Run Code Online (Sandbox Code Playgroud)

请参阅演示