<aside> ⚠️ CSS 파일 최상단에 @import 구문을 사용해서 폰트를 불러오면 CSS 파일이 완전히 로드되고 파싱될 때까지 리소스 로드가 지연돼서 성능 저하를 초래할 수 있다. 반면, HTML <head> 안에서 <link> 태그를 통해 폰트를 불러오면 여러 리소스를 병렬로 로드할 수 있어 더 효과적이다. 실제로 <link> 방식이 @import 보다 1.3~1.6초 정도 더 빠르게 폰트를 로드한다고 한다.

</aside>

구글 폰트 CSS 파일 가져오기 팁


사용하고 싶은 구글 폰트 이름을 주소의 family 값에 입력하면 Font Family CSS 파일을 가져올 수 있다. 참고로 display=swap 파라미터는 폰트 파일 로드를 기다리는 동안 텍스트가 보이지 않는 현상을 방지 하기 위해 대체 폰트를 보여주는 옵션이다. 그 외에 wght, italic 등 여러 파라미터들을 사용할 수 있다(API Docs).

<https://fonts.googleapis.com/css2?family=Oswald&display=swap>
@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(<https://fonts.gstatic.com/s/oswald/v53/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZSSUhiCXABTV.woff2>) format('woff2');
  /* unicode-range 속성을 지정하면 해당 문자 범위에만 폰트가 적용된다 */
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

CSS 파일에서 폰트 불러오기


방법 1 - @import 구문 사용

CSS 파일 가장 상단에 @import 구문을 사용하여 해당 서체의 모든 font-face를 불러올 수 있다. 이 방법은 편리하지만 페이지 로딩 시간에 영향을 줄 수 있으므로 주의가 필요하다. 특히 @import 구문이 여러개 있는 경우 페이지 성능을 저하시킬 수 있다.

@import url("<https://fonts.googleapis.com/css2?family=Oswald:[email protected]&display=swap>");

h1 {
  font-family: "Oswald", sans-serif;
}

방법 2 - @font-face 구문 사용

@font-face 구문을 사용하여 특정 font-face만 불러올 수 있다. 폰트 스타일, 두께, 유니코드 범위 등 폰트를 더 세밀하게 통제할 때 유용하다. 참고로 주소의 v53은 폰트 버전을 의미한다.

@font-face {
  font-family: "Oswald";
  font-style: normal;
  font-weight: 400;
  src: url(<https://fonts.gstatic.com/s/oswald/v53/TK3_WkUHHAIjg75cFRf3bXL8LICs1_FvsUtiZSSUhiCXABTV.woff2>) format('woff2'); 
  unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

h1 {
  font-family: "Oswald", sans-serif;
}

레퍼런스


CSS API 업데이트  |  Google Fonts  |  Google for Developers