您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

我可以在Angularjs ng-style指令中使用!important css关键字吗?

我可以在Angularjs ng-style指令中使用!important css关键字吗?

显然您不能,这是一个已知问题,但是可以在此处找到一些解决方法

https://github.com/angular/angular.js/issues/5379

您无法!important在Chrome或FF(可能还有其他)的DOM样式属性中使用指令。style属性被解析为CSS,但该HTMLElement.style属性没有。不幸的是,您不能在此处设置属性的优先级(至少在Gecko / Blink / Webkit中)。

因此,这里有一些解决方法

<ANY data-ng-attr-style="{{ blue && 'background-color: blue!important' || '' }}">
</ANY>

就浏览器支持而言,这是最好的方法,因为在这里可以正确解析CSS属性优先级。

或者,您也可以在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 / jqLit??e对象在哪里。

:IE <9中不支持警告,因此解决方案#1可能是此行为的最佳选择,这取决于属性优先级…

CSS 2022/1/1 18:15:20 有478人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶