AngularMaterial-アイコン
ザ・ md-iconAngularディレクティブは、アプリケーションでベクトルベースのアイコンを表示するためのコンポーネントです。Googleマテリアルアイコンの使用とは別に、アイコンフォントとSVGアイコンもサポートしています。
属性
次の表に、のさまざまな属性のパラメータと説明を示します。 md-icon。
シニア番号 | パラメータと説明 |
---|---|
1 | * md-font-icon これは、フォントフェースに関連付けられたCSSアイコンの文字列名であり、アイコンのレンダリングに使用されます。フォントと名前付きCSSスタイルをプリロードする必要があります。 |
2 | * md-font-set これは、フォントライブラリに関連付けられたCSSスタイル名であり、フォントアイコン合字のクラスとして割り当てられます。この値は、クラス名を検索するために使用されるエイリアスである場合もあります。内部的に$ mdIconProvider.fontSet(<alias>)を使用して、スタイル名を決定します。 |
3 | * md-svg-src これは、外部SVGのロード、キャッシュ、および表示に使用される文字列URL(または式)です。 |
4 | * md-svg-icon これは、内部キャッシュからアイコンを検索するために使用される文字列名です。補間された文字列または式も使用できます。特定のセット名は、<セット名>:<アイコン名>の構文で使用できます。アイコンセットを使用するには、開発者は$ 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>
結果
結果を確認します。