md-icon 是一个Angular指令,是一个在应用程序中显示基于矢量的图标的组件.除了使用Google Material Icons之外,它还支持图标字体和SVG图标.
下表列出了参数和说明. md-icon 的不同属性.
Sr.No | 参数&说明 |
---|---|
1 | * md-font-icon 这是与font-face相关联的CSS图标的字符串名称,用于呈现图标.需要预加载字体和命名的CSS样式. |
2 | * md-font-set 这是与字体库相关联的CSS样式名称,被指定为font-icon连字的类.该值也可以是用于查找类名的别名;在内部使用$ mdIconProvider.fontSet(< alias>)来确定样式名称. |
3 | * md-svg-src 这是String URL(或表达式)用于加载,缓存和显示外部SVG. |
4 | * md-svg-icon 这是用于查找图标的字符串名称内部缓存;也可以使用插值字符串或表达式.特定集名称可以与语法< set name>:< icon name>一起使用.要使用图标集,开发人员需要使用$ mdIconProvider服务预先注册集合. |
5 | aria-label 此标签用于辅助功能.如果提供了空字符串,则将使用aria-hidden ="true"从辅助功能层隐藏图标.如果图标上没有aria-label,父元素上没有标签,则会在控制台上记录警告. |
6 | alt 这是可访问性的标签图标.如果提供了空字符串,则将使用aria-hidden ="true"从辅助功能层隐藏图标.如果图标上没有alt,父元素上没有标签,则会在控制台上记录警告. |
以下示例显示了md-icons指令的使用以及图标的使用.
am_icons.htm
<html lang = "en"> <head> <link rel = "stylesheet" href = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css"> <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script> <script src = "https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script> <link rel = "stylesheet" href = "https://fonts.googleapis.com/icon?family=Material+Icons"> <style> .iconDemo .glyph { border-bottom: 1px dotted #ccc; padding: 10px 0 20px; margin-bottom: 20px; } .iconDemo .preview-glyphs { display: flex; flex-direction: row; } .iconDemo .step { flex-grow: 1; line-height: 0.5; } .iconDemo .material-icons.md-18 { font-size: 18px; } .iconDemo .material-icons.md-24 { font-size: 24px; } .iconDemo .material-icons.md-36 { font-size: 36px; } .iconDemo .material-icons.md-48 { font-size: 48px; } .iconDemo .material-icons.md-dark { color: rgba(0, 0, 0, 0.54); } .iconDemo .material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); } .iconDemo .material-icons.md-light { color: white; } .iconDemo .material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); } </style> <script language = "javascript"> angular .module('firstApplication', ['ngMaterial']) .controller('iconController', iconController); function iconController ($scope) { var iconData = [ {name: 'accessibility' , color: "#777" }, {name: 'question_answer', color: "rgb(89, 226, 168)" }, {name: 'backup' , color: "#A00" }, {name: 'email' , color: "#00A" } ]; $scope.fonts = [].concat(iconData); $scope.sizes = [ {size:"md-18",padding:0}, {size:"md-24",padding:2}, {size:"md-36",padding:6}, {size:"md-48",padding:10} ]; } </script> </head> <body ng-app = "firstApplication"> <div id = "iconContainer" class = "iconDemo" ng-controller = "iconController as ctrl" ng-cloak> <div class = "glyph" ng-repeat = "font in fonts" layout = "row"> <div ng-repeat = "it in sizes" flex layout-align = "center center" style = "text-align: center;" layout = "column"> <div flex></div> <div class = "preview-glyphs"> <md-icon ng-style = "{color: font.color}" aria-label = "{{ font.name }}" class = "material-icons step" ng-class = "it.size"> {{ font.name }} </md-icon> </div> </div> </div> </div> </body> </html>
验证结果.