環境
vue
vuetify
動かす端末
iPad(第8世代)
前提・実現したいこと
表題の通り、親のサイズに合わせて、フォントサイズを変更したいと思っています。
画像を見ていただいたほうが早いと思います。
2行目にまたがる文字数は多くてせいぜい5文字ほどだと思うので、フォントサイズを小さくすると行った方法で解決したいと考えております。
また、CodePenで実装したものが下記となります。
https://codepen.io/momochi/pen/QWEzYOo
実現方法や私の試したことのエラーの原因をご教授頂きたいです。
よろしくお願いします。
該当のソースコード
html
1<div id="app"> 2 <v-app> 3 <v-container fluid> 4 <v-item-group 5 v-model="selected" 6 > 7 <v-row style="width: 50%"> 8 <v-col v-for="q in qlist" :key="q" cols="4"> 9 <v-item v-slot:default="{ active, toggle }" :value="q"> 10 <v-card 11 :color="active ? 'green' : 'white'" 12 :class="{ 13 'white--text': active, 14 'black--text': !active, 15 }" 16 height="50" 17 class="d-flex align-center" 18 @click="toggle" 19 elevation="2" 20 > 21 <div v-if="active"> 22 <v-icon dark right>mdi-checkbox-marked</v-icon> 23 {{ q }} 24 </div> 25 <div v-if="!active"> 26 <v-icon color="black" dark right 27 >mdi-checkbox-blank-outline</v-icon 28 > 29 {{ q }} 30 </div> 31 </v-card> 32 </v-item> 33 </v-col> 34 </v-row> 35 </v-item-group> 36 <p>{{selected}}</p> 37 </v-container> 38 </v-app> 39</div> 40
javascript
1new Vue({ 2 el: '#app', 3 vuetify: new Vuetify(), 4 data () { 5 return { 6 qlist:["ああああああああああああああああああああああああああ","bb","cc","dd"], 7 selected:"" 8 } 9 }, 10 methods:{ 11 12 } 13})
試したこと
親要素の幅を取得できれば、フォントサイズを計算できると考え、下記のURLのように試してみたのですが、
エラーで取得ができませんでした。
https://qiita.com/qualidea/items/9dd11487292ed387e5e1
error
1[Vue warn]: Error in mounted hook: "TypeError: Cannot read property 'clientWidth' of undefined" 2 3TypeError: Cannot read property 'clientWidth' of undefined
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/13 03:27
2020/11/16 01:42