Я использую mdDialog
в Angular Material
в своем проекте, но двумя разными способами:
Способ 1:
$mdDialog.show($mdDialog.confirm()
.ok('Submit')
.cancel('Cancel'));
Это использует диалоговое окно confirm
по умолчанию, которое будет отображать диалоговое окно в середине браузера,
Он сгенерирует md-dialog-container как:
<div class="md-dialog-container ng-scope" tabindex="-1" style="top: 2186px; height: 471px;">
Способ 2:
var template = '<md-dialog>'
+ ' <md-dialog-content>'
+ ' </md-dialog-content>'
+ ' <md-dialog-actions>'
+ ' </md-dialog-actions>'
+ '</md-dialog>';
$mdDialog.show({
template: template,
parent: angular.element(document.body),
disableParentScroll: false
});
Он сгенерирует md-dialog-container как:
<div class="md-dialog-container ng-scope" tabindex="-1" style="top: 0px; height: 471px;">
Однако этот с top: 0px
в md-dialog-container
, который отображается вверху страницы, а не в середине браузера.
В чем разница между этими двумя, есть ли способ сделать Way 2
таким же стилем css, что и Way 1
? Спасибо!
Демонстрация:
http://codepen.io/anon/pen/amEdYv?editors=1010#0
http://codepen.io/anon/pen/PGEkKE (при изменении материала Angular на более старый версия, например 0.7.1, будет отображаться корректно)
top
для обоих диалогов - codepen.io/camden-kid /pen/ORzrPj?editors=1010#0 - person camden_kid   schedule 05.10.20160.7.1
, она отобразится правильно. - person Stephen   schedule 05.10.2016