删除CSS @media打印规则而无需修改CSS文件

Ser*_*CAN 3 html javascript css

我将引导CSS文件添加到页面中。我不想修改CSS文件。

当我尝试打印页面时,引导程序会修改媒体以打印样式并删除所有颜色属性。

如何取消引导介质的打印设置?

这个jQuery代码可以删除所有的css;$(“ *”)。css(“ all”,“ unset”);

有没有办法只删除@media display {..}的css设置

Lar*_*ars 5

您可以获取样式表,并删除以开头的每个规则'@media print',请注意styleSheets[0]应指向带有相关规则的样式表。

for(var i=document.styleSheets[0].rules.length -1; i >0; i--){
   if(document.styleSheets[0].rules[i].cssText.indexOf("@media print") !=-1 )
   {
      document.styleSheets[0].deleteRule(i);
   }
}
Run Code Online (Sandbox Code Playgroud)

免责声明:这是臭代码,我不会在实际应用中使用它。我会寻找合适的解决方案(例如,从css文件中删除行),但是,有时您无法控制正在提供的所有文件,或者只需要打印页面而无需进行其他格式化。这样就足够了。