FrontEnd

【入門】Vuetifyで手軽に綺麗なWebページを作る

投稿日:2019年12月26日 更新日:

はじめに

フロントエンドの開発を行う場合、 Bootstrap や Materialize などのライブラリを利用することがよくあるのではないかと思います。

今回の記事では、 Vue.js を使った開発でマテリアルデザインを容易に適用できる、 Vuetify というフレームワークの導入から基本的な使い方までを紹介します。

Vuetifyとは

Vuetify は マテリアルデザインが適用された様々な Vue.js のコンポーネントが含まれたフレームワークです。 Vuetify を使用することで、自分でCSSを定義しなくても美しいデザインのWebページを作ることができます。

Vuetifyを導入する

Vuetify の導入には様々なやり方がありますが、今回は Vue Cli 3 以降で作成したプロジェクトに Vuetify を導入する方法を紹介します。それ以外の導入方法については、こちらをご覧ください。

パッケージを追加する

はじめに Vuetify Vue Cli 3 package をプロジェクトに追加します。

すると、 いくつかのパッケージがインストールされ、ファイルの追加、および編集が行われます。

TypeScriptを採用している場合

TypeScript で書いている場合、そのままだとビルドエラーになると思います。そのため、 tsconfig.json の types に vuetify を追加します。

Vuetifyのコンポーネント

Vuetify では様々なコンポーネントが用意されていますが、ここでは一般的に使われるであろうコンポーネントをいくつかピックアップして紹介します。

前提として、 Vuetify のコンポーネントは v-app の中に含める必要があります。

Application

Webページの骨格となるコンポーネント群です。ここには以下のコンポーネントが含まれます。

  • v-system-bar
  • v-app-bar
  • v-navigation-drawer
  • v-content
  • v-footer
  • v-bottom-navigation

これらが画面のどこに表示されるかはこちらをご覧ください。

また、vue-router を導入している場合、 v-content の中に router-view を配置するのが良いようです。

SPA の場合、以下のような構造になると思います。

v-navigation-drawer などの領域のサイズに応じて v-content の領域のサイズを動的に変更したい場合、 v-navigation-drawer などに app を指定し、 v-content の外側に配置する必要があります。

また、こちらに様々なレイアウトのサンプルが用意されています。

Grids

Bootstrap のグリッドシステムを想像してもらうとわかりやすいと思います。 v-row の中に v-col を追加していって、画面を構成します。

v-row のプロパティである align で縦軸の位置を調整し、 justify で横軸の位置を調整します。これらの設定による見た目を確認したい場合は、こちらをご覧ください。

v-col は v-row の中に含まれる v-col の数に応じて自動的に幅が変わりますが、プロパティである cols の値を指定することで幅を固定することができます。さらに、 v-col 同士の間に v-spacer を追加することで、間をいい感じに開けることもできます。

Buttons

ボタンのコンポーネントとして v-btn があります。 v-btn は指定するプロパティによって、様々な見た目のボタンを表示することができます。例えば以下のようなプロパティがあります。

  • color: ボタンの背景色を指定します
  • outlined: 輪郭のみのボタンにします
  • rounded: 丸みを帯びたボタンにします
  • text: 文字のみのボタンにします
  • fab: Floating Action Button にします
  • icon: アイコン画像のみのボタンにします

また、 to プロパティを指定することで、画面遷移するボタンにすることができます。

Dialogs

ダイアログのコンポーネントとして v-dialog があります。

また、 persistent を指定した場合、ダイアログの外側に触れてもダイアログが非表示にならなくなります。

他にも、ダイアログの中身をスクロール可能にする scrollable や、全画面で表示する fullscreen など、 v-dialog には様々なプロパティがあります。

さいごに

今回紹介したのは Vuetify で用意されているコンポーネントのうちの一部です。他にも様々な使いやすいコンポーネントが用意されていますので。ぜひ一度ドキュメントを見ていただければと思います。

おすすめ書籍

Vue.js入門 基礎から実践アプリケーション開発まで 動かして学ぶ!Vue.js開発入門 (NEXT ONE) これからはじめるVue.js実践入門

blog-page_footer_336




blog-page_footer_336




-FrontEnd
-,

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

laravel logo

Inertia使ってみた②

1 はじめに2 フォームヘルパー2.1 ポイント2.2 他機能3 ローディング表示4 さいごに5 おすすめ書籍 はじめに 前回はInertiaの基本的な内容について書いてみました。今回はもう少し実践的 ...

react-icon

【初級者向け】Reactの開発環境の構築

1 はじめに2 Reactとは2.1 Declarative2.2 Component-Based2.3 Learn Once, Write Anyway2.4 Reactのメリット、デメリット3 環 ...

icon

TypeScript初心者が押さえておくべき型システム

1 はじめに2 型アノテーション2.1 プリミティブ型2.2 リテラル型2.3 any2.4 nullとundefined2.5 ユニオン型2.6 交差型2.7 タプル型2.8 列挙型2.9 配列2. ...

vuex-module-decoratorsとTypeScriptでvuexをスマートに書く

1 はじめに2 導入3 どのように記述するか3.1 初めに3.2 state3.3 mutation3.4 action3.5 getter3.6 async MutationAction3.7 Dy ...

Vue.js入門その1〜基本文法〜

はじめに 軽量JSフレームワークとして有名なVue.js。 最近、Laravelに触れる機会が増えたことと、以前からRails + Vueという構築を耳にするので、今更ではありますが勉強を始めようと思 ...

フォロー

blog-page_side_responsive

2019年12月
1234567
891011121314
15161718192021
22232425262728
293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。