web-dev-qa-db-ja.com

nuxtjsを使用してすべてのページにフォントを埋め込む方法

Nuxt.config.jsのグローバル設定にgoogleフォントを埋め込むだけです

 link: [
      { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Roboto' }
    ]

しかし、このフォントをすべてのページに適用する方法。

4
Joey

アプリ内にフォントを含めて提供する場合

次の場所からフォントをダウンロードします: https://fonts.google.com/specimen/Roboto?selection.family=Roboto (ドロワーを開いて.Zipファイルをダウンロードします)。

  1. .Zipの内容を./assets/fonts/*に解凍します(存在しない場合は作成します)。
  2. ./assets/fonts/roboto.cssを作成し、その中に以下を配置します。
/* cyrillic-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu72xKOzY.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu5mxKOzY.woff2) format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7mxKOzY.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4WxKOzY.woff2) format('woff2');
  unicode-range: U+0370-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7WxKOzY.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu7GxKOzY.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url(https://fonts.gstatic.com/s/roboto/v18/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

(このCSSは、 https://fonts.googleapis.com/css?family=Roboto にアクセスして見つけることができます)。

次に、nuxt.config.jsを変更して、CSSファイルをcssプロパティに含めます。

module.exports = {
  /*
  ** Global CSS
  */
  css: [
    '~/assets/fonts/roboto.css'
  ]
}

次に、テキスト要素にfont-family: 'Roboto', sans-serif;を適用します。


すべてのページでフォントを使用する

以下を含む./assets/css/styles.cssファイルを作成します。

body
{
  font-family: 'Roboto', sans-serif;
}

次に、上記のように、CSSファイルをnuxt.config.jsに含めます。

module.exports = {
  css: [
    '~/assets/fonts/roboto.css',
    '~/assets/css/styles.css'
  ]
}

同じことが他のフォント、アイコン、フレームワークcssなどのアセットにも当てはまります。

7

[〜#〜]クイック[〜#〜]

あなたのnuxt.config.jsfiで

head: {
  ...
  ...
  link: [
    {
      rel: 'icon',
      type: 'image/x-icon',
      href: '/favicon.ico'
    },
    {
      rel: 'stylesheet',
      href: 'https://fonts.googleapis.com/css?family=Lato:400,700'
    }
  ]
}

そして、layouts /default.vueまたは使用している他のレイアウトファイルにスタイルタグを追加します

<style scoped>
#app {
  font-family: 'Lato', sans-serif;
}
</style>
2
Anees Hameed

こんなに簡単です

  1. Googleフォントに移動し、フォントスタイルを選択します(例: Montserrat

  2. nuxt.config.jsに移動し、ここに示すようにフォントURLを追加します

export default {  
 head: {
        meta: [],
          link: [
       { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Montserrat&display=swap"'}
     ]
   }
  1. Nuxtプロジェクト->レイアウトディレクトリ-> default.vueファイルに移動し、ここに示すようにv-appタグにapp(または任意の名前)という名前のクラスを追加します。
 <v-app dark class="app"> 

      --your app goes here -- 

  </v-app>
  1. 同じファイルスタイルオプションで、上記で定義したクラス本体に次の行を追加します

     <style>
     .app{
       font-family: 'Montserrat', sans-serif;
     }
     </style>
    

    クラスがv-appタグで定義されていることを確認し、プロジェクト全体を有効にするには、<style>ではなく<style scoped>を使用します

2
eli

次のルールでCSSを更新します。

body {
  font-family: 'Roboto', sans-serif;
}

CSSスタイルシートをまだ設定していない場合は、assetsディレクトリにmain.cssという名前の新しいファイルを作成します。その中に上記のコードを入れて保存します。次に、nuxt.config.jsを編集して、headオブジェクトの後にこのコードを追加します。

css: [
  '@/assets/main.css'
],
1
Konrad Kalemba