javascript - 如何使用指令添加 css 样式?

标签 javascript html css angularjs

我正在尝试使用指令动态添加一些 css 样式,我试过了,但有些地方我遗漏了。

这是我的 html 代码:

<header-image image="{{BackgroundImage}}"></header-image>

这是我的指令和 Controller :

var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {

  $scope.BackgroundImage = "http://whatatimeline.com/covers/fb_profile_cover_13173327520f7.jpg";

});

app.directive('headerImage', function () {
  return {
    restrict: 'E',
    replace: true,
    templateUrl: 'backImage.html',
    link: function (scope, elem, attr) {
      console.log("coming to directive");

      scope.backImage = attr.image;
      console.log(scope.backImage);

      elem.css({
        width: '100%',
      })

    }
  }
});

这是我的 backImage.html:

<div>
  <img ng-src="{{backImage}}" alt="BackImage">
</div>

当我像上面那样尝试时,它正在为整个 div 添加样式,如下图所示 enter image description here

但我想使用指令 elem.css()

添加如下图所示的样式

enter image description here

我正在尝试通过 elem.css({}) 添加 css 样式,但如果图像标签我只想要图像标签的样式,它会附加到 div,而且我也必须这样做从指令中设置 img 标签样式,就像我编写 elem.css() 时那样,这些样式仅附加到 img 标签。

提前致谢。

最佳答案

否则你可以像那样做 css:

<body ng-app="myApp" ng-controller="myCtrl">

<h1 ng-style="myObj">Welcome</h1>

<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.myObj = {
    "color" : "white",
    "background-color" : "coral",
    "font-size" : "60px",
    "padding" : "50px"
}
});
</script>
</body>

希望对你有帮助。

关于javascript - 如何使用指令添加 css 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38561673/

相关文章:

javascript - 如何触发按钮点击按键

javascript - d3.each() 索引不从 0 开始

php - 它没有显示所有图像

css - 使用最少的 CSS 样式将单独的坐标应用于数百个 div 元素,怎么做?

css - 我的 div 布局有什么问题?

jquery - 删除其他 sibling 的类(class)

javascript - Jquery UI 选项卡 - 通过 ajax 打开选项卡内的链接

javascript - 如何在 html 页面中嵌入 .wmv 并使用 javascript 播放/停止/更改文件?

html - 为所有 HTML 段落添加类

css - css中具有边界半径的半三 Angular 形