2015-11-19 3 views
8

Я пытаюсь использовать layout-align = "center center", который должен выравнивать содержимое в центре как по вертикали, так и по горизонтали. Но это только выравнивание содержимого по горизонтали, а не по вертикали.Угловой макет-align = "center center" не работает

Вот код plnkr link кода, который я пытаюсь.

<body ng-app="app" ng-controller="appCtrl"> 
<md-toolbar> 
<div class="md-toolbar-tools"> 
    <h2 flex>Hello Angular-material!</h2> 
</div> 
</md-toolbar> 
<div class="flexbox-parent"> 
    <div layout="row" layout-align="center center"> 
    <div flex="15">First line</div> 
    <div flex="15">Second line</div> 
    </div> 
</div> 
</body> 
+0

это может быть потому, что это использовать flexbox ... возможно, проблема совместимости с вашим браузером? вы можете взглянуть на http://caniuse.com/ –

+0

Я не понимаю, вы хотите что-то вроде [этого] (http://imgur.com/aQ9DNu5)? – AndreaM16

ответ

17

Причина, почему она не центрирования его вертикально потому, что ваш DIV, содержащий атрибут макета выравнивания не имеют высоту.

Try что-то вроде

<div class="flexbox-parent"> 
    <div layout="row" layout-align="center center" style="min-height: 500px"> 
    <div flex="15">First line</div> 
    <div flex="15">Second line</div> 
    </div> 
</div> 
+0

Как сделать центрирование на всем видовом экране браузера? –

+0

@Prabhdeep: Мой div с компоновкой-выравниванием имеет минимальную высоту в px. Тем не менее это не работает для меня. – Mak

+0

Если вы запустите код выше в jsfiddle, он работает отлично, попробуйте убедиться, что у вас нет других классов или стилей, которые переопределяют ваши элементы. –

2

Flexbox вертикального центрирования хорошо работает с определением высоты для родительского элемента:

<div class="flexbox-parent"> 
    <div layout="row" layout-align="center center" style="height: 100vh"> 
    <div flex="15">First line</div> 
    <div flex="15">Second line</div> 
    </div> 
</div> 
0

Просто используйте

fxLayout="row" fxLayoutAlign="center center" style="height: 100vh; width: 100vh" 

на вашем родительском DIV

+0

Вопрос был связан с Angular.js/angular-material 1.x. Синтаксис Angular 2+, который вы использовали, может смутить некоторых людей. – Nerman

Смежные вопросы