我正在用聚合物开发一个 SPA。我的主要布局使用该app-layout
集合在下面创建标题栏和可滚动页面 - 因此
<app-header-layout>
<app-header>
<app-toolbar>
toolbar content ...
</app-toolbar>
</app-header>
<iron-pages ...>
<page1-element></page1-element>
...
<pagen-element></pagen-element>
</iron-pages>
<app-header-layout>
我的一个页面是一个大型月历,用于查看约会摘要和预订,当用于预订时,上面会有大量关于所选日期预订的重要信息,以至于正常屏幕 日历的最后几周从屏幕底部消失,我的页面变得可滚动。
this的结构<page-element>
是这样的
<section class="day">
Information which takes up about 1/3 of the screen
</section>
<section class="calendar header">
<paper-tabs>Tabs for each office</paper-tabs>
<div>Area to allow selection of month and year, with next and previous buttons</div>
<ul id="daysofweek">...</ul>
</section>
<section class="calendar">
Calendar itself in weekly rows
</section>
我想在这个页面上实现的(记住主应用程序工具栏在屏幕顶部保持静态)是
- class="day" 的部分在屏幕顶部保持静态(在主应用程序工具栏下)
- 当用户向下滚动页面直到它完全消失时,日历标题选择会折叠 - 但如果用户向上滚动一点点,则只有“daysofweek”行会显示自己(即,滚动效果支持的显示模式
<app-header>
) - 页面的其余部分,日历本身上下滚动,当用户完全向下滚动时,该月的最后一周正好位于页面的底部
- 当带有 class="day" 的部分不存在时(即有人只是在查看日历,那么这只是向上折叠到零高度,但页面的其余部分如上所述,但具有更大的视口。
我尝试使用嵌套<app-header-layout>
,但这似乎只是让我留下了应用程序工具栏,日历的底部填充了屏幕的其余部分并且不可滚动。所以我正在寻找关于如何实现这一点的建议,或者使用聚合物元素,或者自己用 css 来做。
更新
尝试使用paper-scroll-header-panel
,但一切都变得不可见。不理想,为什么在 chrome 开发工具中,各种元素放置在页面上的正确位置,但没有出现,我不知道为什么
我还尝试将日历容器元素设置为overflow-y: scroll
,但我最终得到了两个垂直滚动条,并且只有外部的滚动条有效(即应用程序一级)。scrollTarget
这个实验让我想知道我是否应该尝试玩app-header