Пользовательский элемент Полимерный размер диалогового окна / положение на основе родительской страницы

Я только начал играть в диалоге Polymer. Я пытаюсь создать диалоговое окно с полимерным элементом и использовать его в бумажной карточке. Тем не менее, я столкнулся с проблемой, потому что диалоговое окно отображается на основе размера / положения бумажной карты, а не полной страницы.

Могу ли я узнать, как мне его стилизовать, чтобы размер / положение диалогового окна было основано на главной странице, а не на карточке? Спасибо.

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>

1 ответ

Решение

БартКоппельманс прав. Бумажный диалог должен быть вне бумажной карточки. Вы все еще можете держать кнопку внутри карты.

  <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>
Другие вопросы по тегам