我刚开始玩聚合物对话框。我尝试创建一个自定义元素聚合物对话框并在纸卡中使用它。但是,我遇到了问题,因为对话框根据纸卡的大小/位置而不是整页显示。
我可以知道如何设置样式以使对话框大小/位置基于主页而不是卡片?谢谢。
Main page, paper-card is a 100x100px card:
<paper-card>
Text
<my-custom-dialog></my-custom-dialog>
</paper-card>
My-custom-dialog:
<dom-module id="my-custom-dialog">
<style is="custom-style">
paper-dialog {
position: absolute;
top: 3%;
left: 0px;
margin-top: 0px;
width: 100%;
height: 100%;
overflow: auto;
z-index: 1;
}
.fa-times {
cursor: pointer
}
</style>
<template>
<i class="fa fa-object-group" aria-hidden="true" on-tap="toggleDialog"></i>
<paper-dialog id="dialog" always-ontop entry-animation="scale-up-animation" exit-animation="fade-out-animation">
<div class="buttons">
<i class="fa fa-times" aria-hidden="true" dialog-confirm></i>
</div>
<strong>Text here</strong>
</paper-dialog>
</template>
</dom-module>
<script>
Polymer({
is: "my-custom-dialog",
toggleDialog: function () {
this.$.dialog.toggle();
},
})
</script>
答案 0 :(得分:0)
BartKoppelmans是对的。纸张对话需要在纸卡之外。您仍然可以将按钮保留在卡内。
<template>
<paper-card style="width: 50%;">
<i class="fa fa-object-group" aria-hidden="true" on-tap="toggleDialog">?</i>
</paper-card>
<paper-dialog id="dialog" always-ontop auto-fit-on-attach entry-animation="scale-up-animation" exit-animation="fade-out-animation">
<div class="buttons">
<i class="fa fa-times" aria-hidden="true" dialog-confirm></i>
</div>
<strong>Text here</strong>
</paper-dialog>
</template>