core-icons съдържа различни набори от икони като
- икони
- av-икони
- комуникационни икони
- икони на устройства
- хардуерни икони
- изображения-икони
- карти-икони
- икони за уведомяване
- png-икони
- социални икони
Не е очевидно как да ги използвате.
core-icons съдържа различни набори от икони като
Не е очевидно как да ги използвате.
Ето общ преглед на иконите, съдържащи се в paper-elements http://polymer.github.io/core-icons/components/core-icons/demo.html
Създадох пример, който демонстрира как да ги използвам.
<!DOCTYPE html>
<html>
<head>
<title>core-icons</title>
<!-- <script src="packages/web_components/platform.js"></script>
not necessary anymore with Polymer >= 0.14.0 -->
<script src="packages/web_components/dart_support.js"></script>
<link rel="import" href="/bgpackages/paper_elements/paper_icon_button.html">
<!-- choose the name according to the set you want to load - "social-icons" -->
<!-- this is now accessible with a simpler path
<link rel="import" href="/bgpackages/core_elements/src/core-icons/iconsets/social-icons.html">
<link rel="import" href="/bgpackages/core_elements/core_icons/iconsets/social_icons.html">
this changed again with core-elements 0.2.0+1 -->
<link rel="import" href="/bgpackages/core_elements/social_icons.html">
</head>
<body>
<!-- use the icon by setting the `icon` attribute. The value consists of iconsset-id a colon followed by the icon name. -->
<paper-icon-button id="bookmark-button" icon="social:plus-one" style="fill:steelblue;"></paper-icon-button>
<script type="application/dart">export 'package:polymer/init.dart';</script>
</body>
</html>
Можете да стилизирате иконите от кода на Dart като
($['bookmark-button'] as dom.Element).querySelector('* /deep/ #icon').style
..setProperty('fill', 'red')
..setProperty('stroke', 'blue')
..setProperty('stroke-with', '3px');
Това се оказа доста сложно, защото paper-icon-button
има повече от едно shadowRoot
(всъщност 3) и когато зададох стила на елемента <g>
(вътре в <core-icon>
), той беше приложен, но върнат малко след това по неизвестни причини.
Току-що видях, че това не работи във Firefox. Полифилът за /deep/
в querySelector()
е в процес на работа, доколкото знам. Може би ще работи по-добре веднага след като текущата версия на Polymer бъде интегрирана в Polymer.Dart.
Това работи както в Dartium, така и в Firefox:
($['bookmark-button'] as dom.Element).shadowRoot.olderShadowRoot.querySelector('#icon').style
..setProperty('fill', 'red')
..setProperty('stroke', 'blue')
..setProperty('stroke-with', '3px');
Това решение може да се повреди, когато внедряването на <paper-icon-button>
бъде променено, но се надяваме, че след известно време първият опит скоро ще работи във всички браузъри.
Поддръжката на Polyfill за /deep/
в querySelector
е включена в Polymer.js 0.4.0 . Надяваме се, че следващата актуализация на Polymer.dart също го включва.