Edit: Временное решение для CSS переменных:
Шрифт удивительный CSS файл включает в себя определение @ шрифт лицу, которое в настоящее время не работает в shadowDOM, по крайней мере, в Chrome (ref1, ref2). Один из способов - переместить определение @ font-face из файла CSS fa и поместить его как глобальный тег стиля. Например:
<html>
<head>
<style>
@font-face {
font-family: 'FontAwesome';
src: url('font-awesome-4.0.3/fonts/fontawesome-webfont.eot?v=4.0.3');
src: url('font-awesome-4.0.3/fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('font-awesome-4.0.3/fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('font-awesome-4.0.3/fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('font-awesome-4.0.3/fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
</style>
<script type='application/dart'>export 'package:polymer/init.dart';</script>
<script type="text/javascript" src="packages/browser/dart.js"></script>
Вы можете ссылаться на локальную копию редактируемого метрономы CSS файл внутренней для пользовательского элемента полимера без необходимости использовать applyAuthorStyles
как это:
<polymer-element name="dropdown-menu-element">
<template>
<link rel="stylesheet" href="../font-awesome-4.0.3/css/font-awesome.css">
Убедитесь, что вы загрузили весь каталог fa в ваш проект. Значки fa теперь можно использовать в вашем полимерном элементе.
оригинальный ответ с помощью applyAuthorStyles:
Я просто указать путь к шрифту удивительным в головной части файла index.html:
<head>
<title>Working with Polymer</title>
<link rel="stylesheet" href="css/font-awesome-4.0.0/css/font-awesome.min.css">
<link rel="import" href="elements/navbar_element.html">
<script type='application/dart'> export 'package:polymer/init.dart'; </script>
<script type="text/javascript" src="packages/browser/dart.js"></script>
</head>
Тогда в моем navbar_element.html
файл, я просто ссылку иконки так, как вы обычно делаете:
<polymer-element name="navbar-element">
<template>
<style>
/* other styles here */
}
</style>
<div>
<div class="st-container">
<nav class="st-nav">
<template repeat="{{item in menu}}" >
<a id={{item.id}} href="#" class={{item.arrowClass}} on-click="{{menuHandler}}">
<span class="menuName">{{item.text}} </span>
<i class={{item.icon}}></i>
</a>
</template>
<div class="arrow_box"></div>
</nav>
</div>
</div>
</template>
<script type="application/dart" src="navbar_element.dart"></script>
</polymer-element>
В этом случае, я ссылающийся на удивительный значок конкретного шрифта, <i class={{item.icon}}></i>
, в моем файле navbar_element.dart, используя наблюдаемый список как так:
final ObservableList<Item> menu =
toObservable([
new Item('Fourier', 'fourier', 'fa fa fa-sort-amount-desc fa-rotate-270', false),
new Item('Sequences', 'sequence', 'fa fa-tasks', false),
new Item('Convolution', 'convolution', 'fa fa-asterisk', true),
new Item('Deconvolution', 'deconvolution', 'fa fa-headphones fa-rotate-90', false),
new Item('Filters', 'filter', 'fa fa-filter', false)
]);
где icon
поля является только полем в классе Item
и я установил bool get applyAuthorStyles => true;
.
Этого вопрос должен иметь полезную информацию для Вас: https: //code.google.com/p/dart/issues/detail?id=12434 –