代码很简单:
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”属性似乎可以解决问题。
我只是在符合条件时调用我的绿色背景,并在没有时调用标准样式。两者在打印样式表中都没有背景颜色。
答案 0 :(得分:1)
在body
元素上添加背景颜色作为样式属性内联(您正在做的方式)会因特异性而覆盖打印样式表。 (Further worthwhile reading on CSS specificity is here。)
要解决这个问题,您可以:
body
元素添加CSS类而不是从CSS设置样式)或在打印样式表中定义的背景样式后添加!important
,即在print.css中执行:
body {
background-color: transparent !important;
}