LoginSignup
12
6

More than 5 years have passed since last update.

Vuetifyを使って手始めにヘッダーを作ってみる

Posted at

概要

現在作っているVue.jsアプリの見た目を整えるためにVuetifyを使ってみます。
まずはページのヘッダーを作ることを目標にします。
VueCLI3.0から作成したアプリケーションが既に存在するという前提で進めます。

version
MacOS Mojave 10.14.2
vue 2.5.17

インストール

アプリケーションのルートディレクトリでコマンドを実行。

cd vue-app
vue add vuetify

? Choose a preset: (Use arrow keys)
> Default (recommended)

これだけでいい感じにインストールしてくれます。

注意

既存のアプリにインストールする場合の注意点です。

App.vueの上書き

App.vueがVuetifyのデフォルトページに上書きされてしまいます。
App.vueの変更は取り消しておきましょう。

git checkout src/App.vue

レイアウト崩れ

自分のアプリでは、既存のレイアウトに崩れが生じました。

インストール前

スクリーンショット 2019-01-05 13.33.09.png

インストール後

スクリーンショット 2019-01-05 13.33.44.png

調整面倒くさい。最初からVuetify入れとけやって話ですね。
それとも回避可能なんでしょうか?

変更点

App.vueを除くと変更点は以下になると思います。

src/plugins/vuetify.js
+ import Vue from 'vue'
+ import Vuetify from 'vuetify/lib'
+ import 'vuetify/src/stylus/app.styl'
+
+ Vue.use(Vuetify, {
+   iconfont: 'md',
+ })
src/main.js
import Vue from 'vue'
+ import './plugins/vuetify'
import App from './App.vue'
import store from './store'
public/index.html
  <head>
    ...
+      <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
+      <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons">
  </head>

あとはpackage.jsonとlockファイルが更新されているはずです。

ヘッダーの作成

toolbarを使います。

Header.vue
<template lang="pug">
  v-toolbar
    v-toolbar-title.headline
      span.font-weight-light ここがタイトル
</template>

レイアウトの調整

表示させてみるとどうでしょう。

スクリーンショット 2019-01-05 14.09.15.png

なんか画面上部に謎の余白が。

App.vueのデフォルトのスタイルシートが原因でした。

App.vue
<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
-   margin-top: 60px;
}
</style>

これで余白が消えて、きれいにヘッダーを表示することができました。

おわりに

今回は導入ということでヘッダーだけ作りましたが、
Vuetifyにはたくさんのコンポーネントが用意されているようなのでいろいろ試してみようと思います。

12
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6