Material Design Liteで作成したいくつかのPolymerコンポーネントを統合しようとしています。ただし、何もレンダリングしないだけです。まるでマテリアル デザインが Polymer コンポーネントで機能しないかのようです。
これらは、HTML + マテリアル デザインのサイド メニューを作成するために従う手順です。
プレーン マテリアル デザイン ライト サイド メニュー:
<div class="mdl-layout__drawer">
<span class="mdl-layout-title">Menu</span>
<nav class="mdl-navigation">
<a href="" class="mdl-navigation__link">Link 1</a>
<a href="" class="mdl-navigation__link">Link 2</a>
<a href="" class="mdl-navigation__link">Link 3</a>
<a href="" class="mdl-navigation__link">Link 4</a>
</nav>
</div>
ここで、テストとして、いくつかのマークアップを含むnav-menu.html Polymer 要素を作成します。
<dom-module id="nav-menu">
<template>
<p>I'm a DOM element. This is my local DOM!</p>
</template>
<script>
Polymer({
is: "nav-menu"
});
</script>
</dom-module>
次に、メニューの前に含めて、OK にレンダリングします。
HTML :
<nav-menu/>
<div class="mdl-layout__drawer">
...
レンダリングされたコード:
<nav-menu>
<p class="style-scope nav-menu">I'm a DOM element. This is my local DOM!</p>
</nav-menu>
<div class="mdl-layout__drawer">
ここで、nav-menu.htmlコンポーネントを変更して、完全なメニューを含めます。
<dom-module id="nav-menu">
<template>
<div class="mdl-layout__drawer">
<span class="mdl-layout-title">Express</span>
<nav class="mdl-navigation">
<a class="mdl-navigation__link" href=""> Link 1</a>
<a class="mdl-navigation__link" href=""> Link 2</a>
<a class="mdl-navigation__link" href=""> Link 3</a>
<a class="mdl-navigation__link" href=""> Link 4</a>
</nav>
</div>
</template>
<script>
Polymer({
is: "nav-menu"
});
</script>
</dom-module>
そしてそれをメインページに含めます:
<nav-menu/>
これは、レンダリングされた HTML コードです (Chrome 開発者ツールの検査で確認できます)。
<nav-menu>
<div class="mdl-layout__drawer style-scope nav-menu">
<span class="mdl-layout-title style-scope nav-menu">Express</span>
<nav class="mdl-navigation style-scope nav-menu">
<a class="mdl-navigation__link style-scope nav-menu" href=""> Link 1</a>
<a class="mdl-navigation__link style-scope nav-menu" href=""> Link 2</a>
<a class="mdl-navigation__link style-scope nav-menu" href=""> Link 3</a>
<a class="mdl-navigation__link style-scope nav-menu" href=""> Link 4</a>
</nav></div>
</nav-menu>
どうやら問題ないようですが、ページには何も表示されず、何も表示されていません。
更新: 問題は、メニューを表示するメディア クエリ スタイルが新しい要素に適用されないことです。
@media screen and (min-width: 1025px)
.mdl-layout--fixed-drawer>.mdl-layout__drawer {
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
Polymer 要素はタグにネストされているため<nav-menu>
、CSS スタイルは適用されません。助言がありますか?