Angular10 とFirebaseでブログを作ってみる10 (flex-layoutでレスポンシブ対応してみる)
前回からかなり間が空いてしまいましたが、今回はflex-layoutを導入してレスポンシブ対応してみようと思います。
※Angular10にアップデートしたため、タイトル変わってます
Angular9 => 10のアップデートについて公式のアップデートガイドをご覧ください
Angularバージョン
> ng "version"
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 10.0.8
Node: 12.16.3
OS: darwin x64
Angular: 10.0.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.1000.8
@angular-devkit/build-angular 0.1000.8
@angular-devkit/build-optimizer 0.1000.8
@angular-devkit/build-webpack 0.1000.8
@angular-devkit/core 10.0.8
@angular-devkit/schematics 10.0.8
@angular/cdk 10.2.0
@angular/cli 10.0.8
@angular/fire 5.3.0
@angular/flex-layout 10.0.0-beta.32
@angular/material 10.2.0
@ngtools/webpack 10.0.8
@schematics/angular 10.0.8
@schematics/update 0.1000.8
rxjs 6.5.4
typescript 3.9.7
webpack 4.43.0
> ng "version"
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 10.0.8
Node: 12.16.3
OS: darwin x64
Angular: 10.0.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Ivy Workspace: Yes
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.1000.8
@angular-devkit/build-angular 0.1000.8
@angular-devkit/build-optimizer 0.1000.8
@angular-devkit/build-webpack 0.1000.8
@angular-devkit/core 10.0.8
@angular-devkit/schematics 10.0.8
@angular/cdk 10.2.0
@angular/cli 10.0.8
@angular/fire 5.3.0
@angular/flex-layout 10.0.0-beta.32
@angular/material 10.2.0
@ngtools/webpack 10.0.8
@schematics/angular 10.0.8
@schematics/update 0.1000.8
rxjs 6.5.4
typescript 3.9.7
webpack 4.43.0
※Angular10にバージョンアップしてます
インストール
- 公式通りインストールします
npm i -s @angular/flex-layout
FlexLayoutModuleのインポート
src/app/app.module.ts
import { FlexLayoutModule } from '@angular/flex-layout';
@NgModule({
・・・
imports: [
・・・
FlexLayoutModule,
TOPページをいじる
-
fxLayout
をフレックスレイアウトを適用する要素に付与します
- 基本は横並びとするため
row
を指定します
- その子要素に
fxFlex
で割合をセットします
- 今回はニュースを70%で表示するため、
fxFlex="70"
とします
- モバイル表示時は全て縦並びになるように
fxLayout.lt-sm="column"
を設定します
<div fxLayout="row" fxLayout.lt-sm="column">
<div class="contents news" fxFlex="70">
<app-top-news></app-top-news>
<div class="qiita">
<app-top-qiita></app-top-qiita>
</div>
</div>
<div class="contents twitter" fxFlex>
<app-top-twitter></app-top-twitter>
</div>
</div>
npm i -s @angular/flex-layout
src/app/app.module.ts
import { FlexLayoutModule } from '@angular/flex-layout';
@NgModule({
・・・
imports: [
・・・
FlexLayoutModule,
-
fxLayout
をフレックスレイアウトを適用する要素に付与します- 基本は横並びとするため
row
を指定します - その子要素に
fxFlex
で割合をセットします- 今回はニュースを70%で表示するため、
fxFlex="70"
とします
- 今回はニュースを70%で表示するため、
- 基本は横並びとするため
- モバイル表示時は全て縦並びになるように
fxLayout.lt-sm="column"
を設定します
<div fxLayout="row" fxLayout.lt-sm="column">
<div class="contents news" fxFlex="70">
<app-top-news></app-top-news>
<div class="qiita">
<app-top-qiita></app-top-qiita>
</div>
</div>
<div class="contents twitter" fxFlex>
<app-top-twitter></app-top-twitter>
</div>
</div>
※fxFlexの使い方はこちらを参照
表示してみる
PC版表示
モバイル版表示
最後に
今回はflex-layoutを使って、レスポンシブ対応させました。
簡単な使い方しかしてませんが、これだけでもPC/モバイルで表示を切り分けられるので便利ですね。
Author And Source
この問題について(Angular10 とFirebaseでブログを作ってみる10 (flex-layoutでレスポンシブ対応してみる)), 我々は、より多くの情報をここで見つけました https://qiita.com/teracy164/items/937ef62cbc38049a6646著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .