У меня возникла проблема с boostrap3 и по умолчанию: прозрачный! Important ; настройка печати.
У меня есть необходимость показать горячую карту в моем webapp и напечатать ее.
Я использую директиву 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, вызывающая проблему с отсутствующим фоном:
@media print {
* {
color: #000 !important;
text-shadow: none !important;
background: transparent !important;
box-shadow: none !important;
}
}
Поскольку обратный фон: прозрачный! Важный; is background: color hex code! important; (см. здесь) Я пытаюсь установить это с помощью ng-стиля, но тогда знак exclamantion заставляет Angularjs переворачиваться, когда я пытаюсь это сделать:
$scope.scalecolor = function(perc) {
return { backgroundColor: plnkUtils.scaleColorInt('#EE0000', '#88FF00', perc) !important }
};
или, альтернативно, когда я пробую это в html-шаблоне
ng-style="scalecolor(10) !important"
Кто-нибудь, кто знает, как я могу использовать ключевое ключевое слово css с директивой Angularjs ng-style, чтобы переопределить подстановочный шаблон bootstrap3?
Для тех, кто хочет увидеть это своими глазами, вот плункер, показывающий проблему