我在 boostrap3 上遇到问题,它的 默认背景是:transparent!important; 打印设置。
我需要在我的Web应用程序中显示一个热图,并使其可打印。
我为此使用ng-style指令来动态计算所需的背景色。
简而言之,这是html部分
<div class="heatmap" ng-style="scalecolor(10)">lorem ipsum</div>
这是控制器部分
$scope.scalecolor = function(perc) {
return { backgroundColor: plnkUtils.scaleColorInt('#EE0000', '#88FF00', perc) }
};
但是,由于bootstrap3使用 !important 关键字将所有背景设置为透明,因此无法打印这些背景。
这是bootstrap 3.1.0 css的一部分,导致缺少background-color的问题:
@media print {
* {
color: #000 !important;
text-shadow: none !important;
background: transparent !important;
box-shadow: none !important;
}
}
由于背景相反:透明!重要!是背景:彩色十六进制代码!重要;我正在尝试使用ng样式进行设置,但是当我尝试执行此操作时, 感叹号会导致Angularjs翻转 :
$scope.scalecolor = function(perc) {
return { backgroundColor: plnkUtils.scaleColorInt('#EE0000', '#88FF00', perc) !important }
};
或者当我在html模板中尝试此操作时
ng-style="scalecolor(10) !important"
有谁知道我如何在Angularjs ng-style指令中使用!important css关键字来覆盖bootstrap3通配符?
对于那些想用自己的眼睛看这件事的人,
这里有个笨拙的人展示了这个问题
显然您不能,这是一个已知问题,但是可以在此处找到一些解决方法:
https://github.com/angular/angular.js/issues/5379
以下解决方案已从站点复制,以防万一链接中断或被更改。
您无法!important
在Chrome或FF(可能还有其他)的DOM样式属性中使用指令。style属性被解析为CSS,但该HTMLElement.style
属性没有。不幸的是,您不能在此处设置属性的优先级(至少在Gecko
/ Blink / Webkit中)。
因此,这里有一些解决方法:
解决方法#1
<ANY data-ng-attr-style="{{ blue && 'background-color: blue!important' || '' }}">
</ANY>
就浏览器支持而言,这是最好的方法,因为在这里可以正确解析CSS属性优先级。
解决方法2
或者,您也可以在javascript中执行以下操作:
$scope.$watch(conditionalStyle);
function conditionalStyle() {
if ($scope.blue) {
$element[0].style.setProprety('background-color', 'blue', 'important');
} else {
$element[0].style.backgroundColor = '';
}
}
$element
引用HTMLElement的jQuery / jqLite对象在哪里。
注意 :IE <9中不支持警告,因此解决方案#1可能是此行为的最佳选择,这取决于属性优先级…
本文向大家介绍我们可以在Java中使用此关键字调用方法吗?,包括了我们可以在Java中使用此关键字调用方法吗?的使用技巧和注意事项,需要的朋友参考一下 Java中的“ this”关键字在实例方法或构造函数中用作对当前对象的引用。是的,您可以使用它来调用方法。但是,您只能从实例方法(非静态)中调用它们。 示例 在下面的示例中,Student类具有一个私有变量名称,具有setter和getter方法,
问题内容: 基本上,我想设置一个使用“ for”作为参数以提高可读性的函数。 我设置了类似的内容,但是当我尝试将开关用于“ for”时,它将作为关键字出现并引发编译错误。 干杯 问题答案: 使用关键字作为普通标识符时,您必须使用反引号`对此进行转义
问题内容: 我发现很多以下形式的html输入模式,这是电话号码: 我想创建一个自定义指令,无论该指令适用于哪里,它都会告诉Angular应用所有这三个规则,例如: 然后,我指令中的代码将找到并调用一个名为的函数,在该函数中我将看到类似以下内容的内容: 清单1: 我宁愿使用上述方法而不是为这些规则重写代码,例如: 清单2: 我不想取消所有基于属性的指令,但最好创建一个“宏”指令,该指令将调用我的清单
在C/C中,可以对SIMD(如AVX和AVX2)指令使用内部函数。有没有办法在Rust中使用SIMD?
问题内容: 我想知道我能否以某种方式使用x,y对作为字典的键 但是我得到了错误: 和错误: 那么..我们怎样才能使其符合标准? 问题答案: 的定义是,即密钥的类型必须符合协议。但是语言指南告诉我们协议可以被类,结构和枚举所采用,即不能被元组所采用。因此,元组不能用作键。 一种解决方法是定义一个包含两个Ints的可哈希结构类型(或您要放入元组的任何内容)。