Frontend Engineer
今までVuetifyはよく使うものの、正直ちゃんとドキュメントを読まずに適当に使っていました。
掘ってみると便利機能が色々出てきたので、使いやすかったものをまとめておきます。
メディアクエリを書くのが楽。
@media #{map-get($display-breakpoints, 'md-and-up')}
と書くと幅がmd以上の時に適用される。
@import '~vuetify/src/styles/styles.sass' .sample @media #{map-get($display-breakpoints, 'md-and-up')} // md以上の時適用 position: absolute top: 50% left: 50% transform: translate(-50%, -50%)
ブレークポイントの取得
map-get($grid-breakpoints, 'md')
.sample max-width: map-get($grid-breakpoints, 'md')
nuxt.config.js
にテーマの設定を書けるが、themesの中の変数は自由に追加できる。
vuetify: { customVariables: ['~/assets/variables.scss'], theme: { dark: false, default: 'light', themes: { light: { primary: { base: '#2e2e2e', darken1: '#232323' }, accent: '#aa0a22', secondary: colors.amber.darken3, info: colors.teal.lighten1, warning: colors.amber.base, error: colors.deepOrange.accent4, success: colors.green.accent3, gray: { // 追加 base: '', lighten2: '#e9e9e9', }, gold: { // 追加 base: '#edece8', darken1: '#e8e3de', } } } } },
クラスに色名を書くとbackground-colorに適用される。下の例だとdivの背景が金色になる。色名だけ書いた場合はテーマで定義したbase
の色が適用される。darken-1
も書くとdarken1
が適用される。
<div class="gold darken-1"> </div>
色名--text
で文字色(color)を設定できる
<div class="white--text"> aaaaa </div>
darken, lightenを設定するときはtext--{lighten|darken}-{n}
をクラスに追加する。
marginとpaddingを設定できるヘルパークラスがある。
<margin or padding><方向>-<数値>
をクラスに書くと適用される
m(argin-)t(op: )-4(*4px)ということ
<div class="mt-4"> </div>
左右マージンをautoにして中央寄せしたいというのはよくある話
<div class="mx-auto"> </div>
多分aはallの略
<div class="pa-1"> </div>
メディアクエリで書くような条件も簡単にかける
<div class="pa-sm-4 mx-md-auto"> </div>
以下のクラスを親に持たせると子のブロック要素を上下中央寄せできる
<div class="d-flex align-center justify-center"> <div> <h4>sample</h4> <div>xxxxx</div> </div> </div>
今までVuetifyはよく使うものの、正直ちゃんとドキュメントを読まずに適当に使っていました。
掘ってみると便利機能が色々出てきたので、使いやすかったものをまとめておきます。
メディアクエリを書くのが楽。
@media #{map-get($display-breakpoints, 'md-and-up')}
と書くと幅がmd以上の時に適用される。
@import '~vuetify/src/styles/styles.sass' .sample @media #{map-get($display-breakpoints, 'md-and-up')} // md以上の時適用 position: absolute top: 50% left: 50% transform: translate(-50%, -50%)
ブレークポイントの取得
map-get($grid-breakpoints, 'md')
.sample max-width: map-get($grid-breakpoints, 'md')
nuxt.config.js
にテーマの設定を書けるが、themesの中の変数は自由に追加できる。
vuetify: { customVariables: ['~/assets/variables.scss'], theme: { dark: false, default: 'light', themes: { light: { primary: { base: '#2e2e2e', darken1: '#232323' }, accent: '#aa0a22', secondary: colors.amber.darken3, info: colors.teal.lighten1, warning: colors.amber.base, error: colors.deepOrange.accent4, success: colors.green.accent3, gray: { // 追加 base: '', lighten2: '#e9e9e9', }, gold: { // 追加 base: '#edece8', darken1: '#e8e3de', } } } } },
クラスに色名を書くとbackground-colorに適用される。下の例だとdivの背景が金色になる。色名だけ書いた場合はテーマで定義したbase
の色が適用される。darken-1
も書くとdarken1
が適用される。
<div class="gold darken-1"> </div>
色名--text
で文字色(color)を設定できる
<div class="white--text"> aaaaa </div>
darken, lightenを設定するときはtext--{lighten|darken}-{n}
をクラスに追加する。
marginとpaddingを設定できるヘルパークラスがある。
<margin or padding><方向>-<数値>
をクラスに書くと適用される
m(argin-)t(op: )-4(*4px)ということ
<div class="mt-4"> </div>
左右マージンをautoにして中央寄せしたいというのはよくある話
<div class="mx-auto"> </div>
多分aはallの略
<div class="pa-1"> </div>
メディアクエリで書くような条件も簡単にかける
<div class="pa-sm-4 mx-md-auto"> </div>
以下のクラスを親に持たせると子のブロック要素を上下中央寄せできる
<div class="d-flex align-center justify-center"> <div> <h4>sample</h4> <div>xxxxx</div> </div> </div>