代码很简单:
page.aspx
<body id ="PageBody" runat ="server">
page.aspx。cs
if ($foo == "foo")
{
PageBody.Style.Add("background-color", "green");
}
我想在打印页面时完全忽略背景颜色(由于各种原因,PC打印时会在打印设置中打开背景,并且无法禁用)
我还没有在C#中过多地使用CSS,所以也许有一种方法可以将主体设置为有条件地使用特定的CSS对象ID?如果是这样的话,我可以在style.css中设置BG颜色,然后在print.css中忽略它。
非常感谢您的帮助。
编辑:
花了更多的搜索时间,但添加属性"class"似乎就可以了。
我只是在满足条件时调用我的绿色背景,而在不满足条件时则调用标准样式。两者在打印样式表中都没有背景色。
由于特殊性,在body
元素上添加背景色作为样式属性内联(按照您的方式)会覆盖打印样式表。(关于CSS特异性的更多值得阅读的内容请点击此处。)
为了解决这个问题,你可以:
- 不将背景颜色设置为内联样式(可能是通过将CSS类添加到
body
元素并从CSS中设置样式),或者 -
在打印样式表中定义的背景样式后添加
!important
,即在print.css do:中body { background-color: transparent !important; }