AngularJS ng-class directive allows you to dynamically set CSS classes on an element using an expression. The expression can be of one of these three types.
- String (one or more space delimited classes). e.g.
<div ng-class="style1"</div> <div ng-class="style1 stye2"</div>
- object (key is class name and it value can be true/false). All object keys with true value are applied as classes to element. e.g.
<div ng-class="{class1: isClass1, class2: isClass2}"</div> - array (it can contains string and objects). e.g.
<div ng-class="[style1, style2, style3]"</div>
Example
<style>
.redBg {background-color: red;}
.blueBorder {border: 2px solid blue;}
</style>
<div ng-app="myApp" ng-controller='MyCtrl'>
Set red background: <input type="checkbox" ng-model="isRedBg">{{isRedBg}}<br>
Set Blue border: <input type="checkbox" ng-model="isBlueBorder"><br>
<div ng-class="{redBg: isRedBg, blueBorder: isBlueBorder}">Hello</div>
</div>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.3/angular.min.js"></script>
<script>
var module = angular.module('myApp', []);
module.controller('MyCtrl', function($scope) {});
</script>