解決できない問題があった為、原因をつきとめたく質問させて貰いました。
Vuetifyコンポーネントの<v-conatiner>のmax-widthを書き換える為、assets/main.scss
を以下のように設定しました。
@use 'vuetify/lib/styles/main.sass' with ( $body-font-family: $body-font-family, $border-style-root: dotted, $border-color-root: blue, $container-max-widths: ( 'xs': null, 'sm': null, 'md': 1190px, 'lg': 1190px, 'xl': 1190px, 'xxl': 1190px, ), $font-weights: ( 'thin': 600, 'light': 600, 'regular': 400, 'medium': 500, 'bold': 700, 'black': 900, ) );
こちらですが、max-widthプロパティの上書きができませんでしたが、それ以外のborder-colorなどのプロパティは上書きを行うことができました。以下は、nuxt.config.ts
です
import vuetify from 'vite-plugin-vuetify'; import { resolve } from 'pathe'; import fs from 'fs'; // https://v3.nuxtjs.org/api/configuration/nuxt.config export default defineNuxtConfig({ modules: [ '@nuxt/content', '@nuxtjs/i18n', [ '@nuxtjs/algolia', { ALGOLIA_INDEX_NAME: process.env.ALGOLIA_INDEX_NAME || '', apiKey: process.env.ALGOLIA_SEARCH_ONLY_API_KEY, applicationId: process.env.ALGOLIA_APPLICATION_ID, instantSearch: { theme: 'algolia', }, }, ], ], content: { highlight: { // コードハイライトを有効化する場合はテーマを設定 theme: 'github-dark-dimmed', }, documentDriven: true, }, i18n: { // lazy: true, locales: [ { code: 'en', file: 'en.json', name: 'English' }, { code: 'ja', file: 'ja.json', name: 'Japanese' }, ], defaultLocale: 'ja', langDir: 'lang/', strategy: 'no_prefix', }, nitro: { prerender: { routes: [ '/', '/ja/', '/en/', '/ja/getting-started/introduction/', '/ja/getting-started/installation/', '/en/getting-started/introduction/', '/en/getting-started/installation/', ], }, }, app: { baseURL: process.env.LOCAL_SERVER === 'true' ? '/' : '/pub/pro-bravia-nuxt', head: { charset: 'utf-8', viewport: 'width=device-width, initial-scale=1', link: [ { rel: 'preconnect', href: 'https://fonts.googleapis.com', }, { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: '', }, { rel: 'preload', as: 'style', href: 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Inconsolata:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap', onload: 'this.onload=null;this.rel="stylesheet"', }, ], }, }, css: ['assets/main.scss'], build: { transpile: ['vuetify'], }, hooks: { 'vite:extendConfig': (config) => { config.plugins!.push(vuetify()); }, }, runtimeConfig: { public: { baseUrl: process.env.NUXT_BASE_URL, }, }, vite: { css: { preprocessorOptions: { scss: { additionalData: '@use "@/assets/scss/_variables.scss" as *;', }, }, }, ssr: { noExternal: ['vuetify'], }, define: { 'process.env.DEBUG': false, }, }, extends: [], // ssr: false, });
環境情報
・Nuxt 3.5.3
・vuetify 3.3.3
何故、$container-max-widths
の上書きが行えないのかが分からないのですが、こちらはライブラリのバグなのでしょうか。バグではないとすると何が原因なのかつきとめたい為、どなたかご助言頂けましたら幸いです。
調査したこと・試したこと
node_modules/vuetify/lib/styles/settings/_variables.scss
内に上書きできる変数が存在していることの確認を行いました。
$container-max-widths: map-deep-merge( ( 'xs': null, 'sm': null, 'md': map.get($grid-breakpoints, 'md') * 0.9375, 'lg': map.get($grid-breakpoints, 'lg') * 0.9375, 'xl': map.get($grid-breakpoints, 'xl') * 0.9375, 'xxl': map.get($grid-breakpoints, 'xxl') * 0.9375, ), $container-max-widths );

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。