Angular Flex Layout で垂直方向に中央揃えするにはどうすればいいですか? 質問する

Angular Flex Layout で垂直方向に中央揃えするにはどうすればいいですか? 質問する

シンプルなログイン コンポーネントを作成し、垂直方向に中央揃えにしたいのですが、Angular Flex Layout ライブラリを使用してこれを実現する方法がわかりません。

アプリコンポーネント

<router-outlet></router-outlet>

ログインコンポーネント.html

<div fxLayout fxLayoutAlign="center center">
    <mat-card fxFlex="30%">
        <mat-card-title>Login</mat-card-title>

        <mat-card-content fxLayout="column">
            <mat-form-field>
                <input matInput placeholder="Username">
            </mat-form-field>
            <mat-form-field>
                <input matInput placeholder="Password">
            </mat-form-field>
        </mat-card-content>

        <button mat-raised-button color="accent">Login</button>
    </mat-card>
</div>

スタイル.scss

body{
    margin: 0;
    background-color: #eff2f5;
}

スクリーンショット:ここに画像の説明を入力してください

ベストアンサー1

コンテナ要素の高さがそのコンテンツと同じ場合、フレックスボックスを使用して要素を垂直方向に中央揃えしても効果はありません。<div>例のトップレベルが、使用可能な垂直方向のスペースをすべて占有するようにするとheight: 100%(または、使用可能な場合は他の Angular Flex Layout 固有のソリューションを使用するなどfxFlexFill)、コンテンツが希望する場所に中央揃えされるはずです。

おすすめ記事