2014-10-22 76 views
1

我正在尝试创建一个包含核心头部面板的“my-app”元素。看起来人们会想要为SPA做一件很常见的事情。另一个元素内部的聚合物核心头部面板

我的index.html:

<!DOCTYPE html> 
<html> 
<head>   
    <script src="bower_components/platform/platform.js"></script> 
    <link rel="import" href="elements/my-app.html"> 
</head> 
<body fullbleed layout vertical unresolved> 
    <my-app></my-app> 
</body> 
</html> 

与我-app.html:

<link rel="import" href="/bower_components/polymer/polymer.html"> 
<link rel="import" href="/bower_components/core-toolbar/core-toolbar.html"> 
<link rel="import" href="/bower_components/paper-tabs/paper-tabs.html"> 
<link rel="import" href="/bower_components/core-header-panel/core-header-panel.html"> 

<polymer-element name="my-app"> 
    <template> 

     <core-header-panel flex> 
      <core-toolbar> 
       <div>Hello World!</div> 
      </core-toolbar> 
     </core-header-panel> 

    </template> 
    <script src="my-app.js"></script> 
</polymer-element> 

,但我似乎得到的是:

enter image description here

什么想法?

编辑:我已经改变了我的代码,与聚合物文档(https://www.polymer-project.org/docs/elements/core-elements.html#core-header-panel)上的第一个例子完全相同,只是核心页眉面板在另一个元素内,而不是直接在主体内部。

EDIT2:如果禁用现在的位置是:相对核心头面板上,然后它看起来更好:enter image description here

回答

2

你需要明确地设置core-header-panel的高度。可以使用布局属性:

<body fullbleed layout vertical> <core-header-panel flex>

或CSS:

html, body { height: 100%; margin: 0; } core-header-panel { height: 100%; }

这在核心报头面板API文档中描述:

https://www.polymer-project.org/docs/elements/core-elements.html#core-header-panel

编辑:我没有想出正确的咒语,使柔性布局属性瓦特ork在你的自定义元素中。但是,你应该能够在my-app.html明确设置高度:

<template> <style> :host, core-header-panel { height: 100%; } </style>

或者,你可以使用:

core-header-panel { height: 100vh; }

前者解决方案需要您设置在一个明确的高度body元素是my-app的父元素。后一种解决方案不会,它只是使用窗口高度。

+1

我试过了,它没有工作:(我已经编辑我的问题是完全相同的聚合物文档的例子,除了它在另一个组件内,但它仍然没有工作.. – mikeysee 2014-10-22 23:00:02

+0

嗯。我不知道为什么flex属性是不是在这种情况下工作 但是,如果你离开'index.html'您可以在'我-app.html'设置的样式: