Vue.js

【最新】Vuetify2系のインストールと使い方・書き方

はじめに

Vuetify使いたいけど、使い方や書き方がいまいち分からない。。。

今回はこんな悩みに答えていきます。

Vuetifyを使用するのが初めてという方に向け、Vuetifyで実装する上で最低限知っておきたい使い方・書き方を解説していきます。

本記事の内容は以下の通りです。

本記事の内容

■ Vuetify2系のインストール方法

■ 最低限知っておきたいVuetify2系の使い方・書き方

Vuetifyは1系(1.X.X)と2系(2.X.X)で使用方法が大きく異なるのですが、本記事では現時点(2020/4時点)で最新のVuetify2系で解説します。

この記事を読み終えることで、Vuetifyで実装するにあたって最低限必要な知識を身につけることができ、今後のVuetifyでの開発がスムーズになるでしょう。

Vuetifyとは

Vuetifyとは、vue.jsでマテリアルデザイン(※1)を実現するためのUIフレームワークのことです。

Vuetifyを使用することでcssをコーディングすることなく、ボタンやハンバーガメニュー、タブなどWebサイトに最低限必要な機能を実装することができます。

また、レスポンシブ対応についてもcssなしで実現できます。

(※1) マテリアルデザイン
Googleが提唱している「ユーザーにとってわかりやすくて操作しやすいページデザイン」のことです。

マテリアルデザイン公式サイト

Vuetify2系のインストール方法

今回vue-cliでVuetifyをインストールしていきます。

ターミナルで以下のコマンドを実行してください。

また、このときプリセットは何を使用するかと確認されるのですが、「Default」を選択してください。

次に、ターミナルで以下のコマンドを実行します。

以下のURLへアクセスし、下記のような画面が表示されればOKです。

http://localhost:8080/

vuetifyトップ画面

Vuetify2系の使い方・書き方

Vuetifyには様々な機能があるのですが、今回は実装する上で最低限知っておきたい使い方・書き方を厳選してお伝えしていきます。

v-appの使い方

Vuetifyのコンポーネントは必ずv-app要素で囲む必要があります。

v-appで囲まないでVuetifyのコンポーネントを使うと予期しない表示になってしまいます。

下記のようにVuetifyのコンポーネントをv-appで囲みます。

v-contentsの使い方・書き方

vue-routerを使用するようなメインコンポーネントについては、v-contents要素で囲む必要があります。

囲まなければ、サイドメニューに有無に対してメインコンポーネントの横幅を自動で調整できなくなったり、vue-routerでのページ遷移の際に予期しない表示になってしまう可能性があります。

ここでいうメインコンポーネントは下図のようなヘッダーやフッダー、サイドメニュー以外の部分です。

メインコンポーネント

下記のようにメインコンポーネントをv-contentsで囲みます。

グリッドシステム(v-container、v-row、v-col)の使い方・書き方

グリッドシステムとは、デバイスに応じて構造を変化させる為の仕組みでサイトのレスポンシブ化には必須です。

なお、Vuetifyのグリッドシステムはbootstrapのグリッドシステムに準拠しているため、bootstrapを使用したことがある方はスムーズに理解できるかと思います。

以降でグリッドシステムの使い方・書き方について詳しく解説します。

グリッドシステムのレイアウト構造

グリッドシステムレイアウト構成
v-container サイトコンテンツを中央寄せして、自動余白設定。
v-row 行(row)の定義して、自動余白設定。
v-col 列(column)の定義して、自動余白設定。

これら3つは必ずセットでコーディングしなければなりません。
コーディングする際は、以下のように書きます。

グリッドシステムの使い方

Vuetifyは12分割のグリッドシステムを採用しています。

1行のレイアウト(v-rowディレクティブ)の中に12個の区間が設けられており、v-colディレクティブで各区間の幅の比率を設定することでレスポンシブなスタイルを実装することができます。

各区間の幅はbreakpointと呼ばれており、Vuetifyでは以下のように定義されております。

デバイス コード 範囲(px)
Extra small(スマホ) xs ~ 599px
Small(タブレット) sm 600px ~ 959px
Medium(ノートPC) md 960px ~ 1264px
Large(デスクトップPC) lg 1265px ~ 1904px
Extra large(特大モニター) xl 1904px ~

グリッドシステムの書き方

グリッドシステムサンプル

上図のようにSmall(タブレット)以下の場合は各ブロックを画面いっぱいに出力し、Medium(ノートPC)以上の場合は各ブロックを3分割する場合、グリッドシステムは以下のように書きます。

ちなみに、breakpointはデフォルトで12かつ指定したbreakpoint以降はその値が適用されるため、以下のように省略して書き換えられます。

補足:Vuetifyはreset.cssは不要

通常Webサイトをスタイルする際、ブラウザごとのデフォルトのスタイルをクリアさせるためにreset.cssを読み込ませるのですが、Vuetifyはreset.cssは不要です。

Vuetifyにreset.cssは含まれているためです。

【Vuetify公式サイト】CSS Reset

具体的には、以下のようなreset.cssが読み込まれております。

【Github】_reset.scss

さいごに

Vuetify2系で実装する上で最低限知っておきたい使い方・書き方の説明は以上です!

お疲れ様でした!

今回お伝えした内容をおさえておけば、今後のVuetifyでの開発がスムーズになるでしょう。

以下の記事で、Vuetifyを使用したヘッダーメニューの実装方法を紹介しておりますので、Vuetifyの具体的な実装方法が知りたい方はぜひご覧ください。

Vuetifyでヘッダーメニューの作成①【サイドメニューとハンバーガーメニュー】Vuetifyでサイドメニューとハンバーガーメニューを作成する方法をご紹介します。これらの機能を実装するにあたって必要なVuejsの基礎知識やVuetifyのコンポーネントについて詳しく解説しております。...

また、Vuetifyだけでなく、VueJsの基礎知識についても詳しく学習したい方は、以下の記事で紹介している教材がおすすめです。

【これだけでOK!】おすすめのVue.js入門教材「Vue.jsを初めてみたいけど、どの教材から手をつけてよいか分からない」という方や「Vue.jsできるようになるためにどんなことをやったらよいのか?」という疑問をもった方向けにおすすめのVue.js入門教材の紹介とその教材の使い方について詳しく解説しております。...

さいごまで読んでいただき、ありがとうございました。

フリーランスエンジニア転職完全ロードマップ

知り合いから
「フリーランスエンジニアになれば、年収800万円以上の高報酬でかつ、自由な働き方をチョイスできる」
というのを聞いて、フリーランスエンジニアに興味を持ったのですが、
当時SIer企業でエンジニアをやっていたボクはなかなか一歩踏みだせませんでした。

というもの以下のような不安があったからです。

■フリーランスエンジニアってかなりの技術力がないとなれないのではないのか?

■フリーランスエンジニアって不安定なのではないのか?

■フリーランスエンジニアって人脈やコネ、営業力が必要なのではないのか?

しかし、実際にフリーランスエンジニアになってみて気づきました。

これらはすべて間違いです。

過去のボクのようにフリーランスエンジニアに興味あるけど一歩踏み出せないという方向けに
『フリーランスエンジニア転職完全ロードマップ』
という記事を書きました。

この記事読めば、どうすればフリーランスになれるのかが分かりますので、ぜひ一読ください。