로그인

검색

Extra Form
추천지수 5

최근 까지 가급적 웹폰트를 사용하지 않았는데요. 웹폰트 사용시 웹폰트가 로딩될때 까지 약간의 문제나 사소하게 발생하는 부분이 자연스럽지 못해서 사용을 안했는데 다시 사용하면서 자연스럽고 무리없이 웹폰트 사용이 가능해 진 듯해서 다시 사용하고 있습니다.

 

여기 라이믹스 꿀팁에도 최근 나눔고딕을 적용해서 사용 중이고 사용하지 않던 커뮤니티에도 웹폰트를 적용했습니다.

 

이번에 적용하면서 웹폰트 사용이 느껴지지 않을 정도로 자연스럽게 적용되는 것이 어떤 것이 작용해서 그런지 살펴보았는데 몇가지 기술이 도움을 주는 것 같네요.

 

간단하게 빠르게 로딩되어서 자연스럽게 웹폰트가 사이트에 적용되길 바란다면 css에서 웹폰트를 불러오는 @import url(); 방식 보다는 html에서 <link> 로 로딩하는게 좋은 것 같습니다.

 

구글 웹폰트에서 웹폰트를 사용하려고 폰트를 선택하면 웹폰트를 사용할 수 있게 코드를 제공하는데 첫번째로 보이는 방식이 <link> 입니다.

 

<link rel="preconnect" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap" rel="stylesheet">

 

이런식으로 사용하라고 친절하게 알려줍니다.

 

이 방식 그대로 사용을 하면 화면이 출력될때 웹폰트 로딩과 상관없이 컨텐츠의 텍스트 그리고 나머지 css 등이 부자연스럽게 서로 다르게 출력되는 그런 현상이 없어집니다.

 

이게 잘 되지 않는 경우는 웹폰트가 로딩 되기 전까지 텍스트가 안나오고 나머지가 일부 나온고 웹폰트가 로딩이 되어야 출력이 되거나 하는 문제로 깜빡이는 듯한 거북한 느낌을 받을 수 있스니다.

 

구글에서 제시하는 것 중 눈에 띄는 것을 살펴보았습니다.

 

rel="preconnect" 이 옵션은 검색을 해보니 

 

현재 페이지에서 외부 도메인의 리소스를 참고하는 것을 브라우저에게 알려 미리 외부 도메인과 연결을 설정할 수 있게 합니다.

preconnect를 사용하면 브라우저가 사이트에 필요한 연결을 미리 예상할 수 있게 됩니다. 브라우저는 필요한 소켓을 미리 설정할 수 있기 때문에 DNS, TCP, TLS 왕복에 필요한 시간을 절약할 수 있게 됩니다.

 

사이트 도메인 내에 업로드된 웹폰트가 아닌경우 이를 브라우저에게 알려줘서 미리 사전작업을 하게 해서 빠르게 연결할 수 있게 할수 있다고 합니다.

 

 

그리고 display=swap 옵션을 검색해 보니

 

텍스트가 항상 보이게 하려면 FOUT와 동일하게 작동하는 swap 옵션을 사용한다. fallback 옵션과 optional 옵션을 사용하면 100ms 동안 텍스트가 보이지 않지만 매우 짧은 시간이어서 이 옵션들도 최적화에 사용할 수 있다.

 

웹폰트가 불러오기 전 까지 폴백 폰트?로 텍스트를 렌더링 한 후 웹폰트가 로딩 된 후 웹폰트로 교체하는 방식인 듯 합니다.

 

장.단점이 있을 수 있긴 해 보이네요. 폰트의 자간 간격이나 높이 등이 차이가 나는 두 폰트간 변화가 느껴질 수도 있겠구요. 

 

이 옵션 방식이 가장 적합한 경우 웹폰트를 영문만 사용하고 한글은 시스템 폰트를 사용한다고 가정을 한다면 페이지가 열리면서 모든 텍스트가 빠르게 출력이 될 것이고 영문 웹폰트가 불러온 후 텍스트의 일부인 영문만 변경이 될 것 입니다.

 

그런데 위와 같은 두가지 옵션으로 영문 폰트만 웹폰트로 사용할때 화면에 출력되는 시점에 웹폰트가 준비되지 않아 뭔가 바뀌는 것을 느끼지 못해 빠르게 웹폰트가 적용이 되는 것을 확인했습니다. 워낙 빠르게 불러와서 그런 것 같네요.

 

그리고 마지막으로 구글에서 알려주지 않은 나머지 하나의 옵션이 있는데 rel="preload" 입니다.

 

현재 페이지에서 사용될 것이 확실한 리소스들을 preload해야 합니다. preload는 브라우저에게 현재 페이지에서 필요한 리소스를 빠르게 가져오게 합니다.

 

그런데 이 옵션 사용시 주의 사항이 하나 있는데 as 속성을 사용하여 리소스의 유형을 브라우저에 알려줘야 합니다. 올바른 유형이 설정되어 있지 않다면 브라우저는 해당 리소스를 사용하지 않습니다

 

<link rel="preload" as="...">

 

 

결과적으로 구글 웹폰트를 빠르게 그리고 자연스럽게 사용을 하기 위해서 html에서 

<link rel="preconnect" href="https://fonts.gstatic.com">
<link rel="preload stylesheet" as="style" href="https://fonts.googleapis.com/css2?family=Nanum+Gothic&display=swap">

 

위와 같이 작성하면 나쁘지 않은 결과를 보여주는 것 같습니다.

 

Who's 꿀팁관리소장

profile
라이믹스로 커뮤니티 사이트를 운영하는 비개발자 운영자 입니다.
파트너쉽 맺으실 사이트 운영자분 환영합니다.
5 추천

자유게시판(68)

주제를 정하지 않은 가벼운 이야기 들입니다.

공지 라이믹스로 사이트를 운영하는 개인이 라이믹스 팁을 공유하는 블로그 입니다. 2020.07.16
  1. CK에디터 툴바에 안쓰는 버튼들 제거해봤습니다.

    링크버튼을 제거하는 작업을 하다가 살펴보니 평생을 한버도 쓰지 않을 버튼들이 보여서 함께 제거해 보았습니다. 링크버튼 제거 관련글에 제거방법은 설명이 되어있긴 합니다만 부족할 지도.. https://rxtip.kr/rx_tip/15837
    Date2021.09.04 Views342 Votes3
    Read More
  2. 브레이브 브라우저(Brave Browser)를 쓰고 암호화폐 토큰 BAT를 공짜로 받아보세요.

    브레이브 브라우저라고 들어보셨나요?? 크롬기반의 크롬과 거의 같은 브라우저 입니다. 그런데 기본적으로 애드블록 기능이 탑재되어있습니다. 개인적으로는 운영하는 사이트를 제가 방문하면서 트래픽과 클릭이 발생하지 않도록 하기 위해 애드블록 기능이 필...
    Date2021.08.31 Views3023 Votes3
    Read More
  3. 업홀드 계정 인증 신분증은 여권으로 하세요.

    브레이브 브라우저에서 광고가 노출되면서 보상으로 BAT(암호화 토큰)를 받을 수 있어서 브레이브 브라우저를 사용한지 대략 2달 정도 된 것 같네요. 브레이브 브라우저는 애드블록 기능이 기본으로 장착되어 있어 내 사이트의 광고를 의도치 않게 클릭하지 않...
    Date2021.08.30 Views1390 Votes3
    Read More
  4. 고퀄의 디자인을 무료로 뚝딱뚝딱 만들 수 있는 사이트

    https://www.miricanvas.com/ 미리캔버스 고퀄의 디자인으로 뚝딱 만들수 있네[요. https://www.mangoboard.net 망고보드 부분유료라고 합니다.
    Date2021.08.14 Views351 Votes3
    Read More
  5. No Image

    라이믹스로 웹사이트를 구축하고 관리하려면 php를 배워야 하는 이유

    라이믹스가 php 기반이라는 것을 알고 계신분이 있고 모르는 분도 있을 겁니다. 몰라도 라이믹스를 사용하는데는 큰 문제가 없을 수도 있습니다. 왜냐면 라이믹스를 설치해서 사이트를 운영하면서 따로 코드 수정이나 자료를 만들어 사용하거나 하지 않는다면 ...
    Date2021.07.25 Views348 Votes4
    Read More
  6. 라이믹스 자료 수정한 코드 비교하기 쉬운 윈머지 (WinMerge) 추천해 드립니다.

    라이믹스 코어를 수정하는 일은 거의 없어서 내가 수정한 파일과 최근 업데이트 된 파일과 비교해서 다시 수정하는 일은 거의 없습니다. 그런데 간혹 서드파티 자료를 사용하다 보면 제가 조금씩 고쳐서 써야 할 경우가 있는데요. 비교적 제가 고쳐서 쓰는 자...
    Date2021.05.17 Views433 Votes3
    Read More
  7. 일부 글을 비로그인 열람이 안되는 것이 아닌 도입부만 보이게 처리한 이유

    어제 부로 로그인 여부에 따라 열람 또는 다운로드의 권한이 달라지게 변경되었습니다. 비로그인 시 정보를 제공하지 않을 이유가 있어서 이렇게 바꾸었는데요. 그런데 아마 보시면서 한가지 흥미롭거나 궁금해 지는 부분이 있을 것 같아 언급해 드리려고 합니...
    Date2021.05.07 Views243 Votes3
    Read More
  8. No Image

    라이믹스 꿀팁 레이아웃이 변경이 되었습니다.

    이전에 사용하던 Flex 레이아웃을 BNU님께서 fork 해서 개발하시는 것으로 변경을 했습니다. https://github.com/rx-public/rxp_flex 변경하면서 커스텀 했던 것들은 모두 순정 상태로 돌아왔네요. 이 상태로 쓰게 되지 않을까 하는 생각이 들긴 하지만 뭐 조...
    Date2021.05.06 Views513 Votes3
    Read More
  9. No Image

    웹폰트 link display=swap, rel="preconnect"옵션이 맘에 듭니다.

    최근 까지 가급적 웹폰트를 사용하지 않았는데요. 웹폰트 사용시 웹폰트가 로딩될때 까지 약간의 문제나 사소하게 발생하는 부분이 자연스럽지 못해서 사용을 안했는데 다시 사용하면서 자연스럽고 무리없이 웹폰트 사용이 가능해 진 듯해서 다시 사용하고 있...
    Date2021.05.05 Views1571 Votes5
    Read More
  10. 라이믹스 꿀팁 사이트 폰트 나눔고딕 구글 웹폰트 적용했습니다.

    맑은 고딕이 우선 지정되던 것을 나눔고딕으로 변경하면서 나눔고딕이 설치되지 않은 단말기들까지 나눔고딕을 지원하기 위해 구글 웹폰트로 적용을 했습니다. 단, 애플기기들의 경우 나눔고딕 보다는 시스템 폰트를 사용할 수 있도록 애플 폰트는 우선순위로 ...
    Date2021.04.28 Views547 Votes3
    Read More
  11. iwinv VPS 서버 기본제공 트래픽이 2배 상향되었네요. 기존 사용자 신청 필요.

    vcore,rcore 상품만 캡쳐를 했는데요. 기존에 일 10G 제공하던 서버 동일하게 모두 20G로 상향되었습니다. 초과요금은 그대신 소폭 인상이 되었네요. 트래픽 제공량이 적은게 최대약점인 곳인데 그래도 2배 상향되서 조금은 부족한게 채워지는 듯 합니다. 물론...
    Date2021.04.26 Views308 Votes3
    Read More
  12. 스케치북5 스킨 댓글 N차 depth 제거해 버렸습니다.

    라이믹스에서는 댓글이 글에 대한 새로운 글?의 역할까지 하면서 댓글로 대화를 이어가게 됩니다. 댓글 밑에 새로운 댓글을 달게 되면 대댓글이라고 부르죠. 이 대댓글이 계속 달리며 대화가 이어지면 어떤 댓글에 향한 댓글인지 명확하게 알기 어렵습니다. 그...
    Date2021.04.22 Views221 Votes4
    Read More
  13. 윈도우10 화면캡쳐 도구 캡쳐 및 스케치 (shift + 윈도우키 + s)

    웹사이트에 글을 작성하거나 혹은 여러 이유로 화면의 일부분을 캡쳐하기 위해서 화면캡쳐를 한 다음 편집프로그램으로 원하는 부분만 자르거나 해서 수정된 이미지를 글 작성에 첨부하거나 카톡으로 보내주거나 하는 등의 일을 하게 됩니다. 그런데 윈도우10...
    Date2021.04.07 Views403 Votes3
    Read More
  14. 사이트 게시글이 트위터에서 RT(리트윗) 되고 있습니다.

    커뮤니티 사이트의 경우는 다른 형태의 사이트보다 회원의 역할이 중요한 형태의 사이트 일 것입니다. 커뮤니티가 성장하려면 보다 많은 사람에게 커뮤니티의 존재를 알릴 수 있는 게시글 노출이 필요할 텐데요. 운영하는 커뮤니티의 게시글 하나가 우연히 어...
    Date2021.02.25 Views285 Votes3
    Read More
  15. 라이믹스 꿀팁 사이트 레이아웃 Flex 레이아웃으로 갈아입었습니다.

    라이믹스 2.0에서 scss 컴파일하는 부분이 바뀌었는지 오류가 나고 해서 css에 직접 하드코딩해서 수치 넣고 어찌 어찌 수정해서 적용했습니다. - 라이믹스 2.0에서 문제가 되는 부분 수정되어 리뉴얼 되었습니다. (21.01.29) https://github.com/calvinsnax/r...
    Date2021.01.28 Views926 Votes3
    Read More
  16. 압축(minify)된 CSS와 JS를 보기 좋게 압축해제 해주는 사이트

    사이트의 기능이나 디자인을 수정하거나 하다보면 다른 곳의 js 등을 참조하고 싶을때가 있는데 압축되어 있어 가독성이 굉장히 떨어져 보기 어려운 경우가 많죠. 이때 압축된 걸 다시 원래대로 압축해제 해서 보면 좋겠죠. https://unminify.com/ 위 사이트에...
    Date2020.12.29 Views1521 Votes3
    Read More
  17. 오라클 클라우드 서버에 설치된 사이트 빠른 로딩 속도 만족

    현재 이 라이믹스 꿀팁은 오라클 클라우드 무료티어 서버에 라이믹스가 설치되어 만들어졌습니다. 오라클 클라우드 써보기 전에는 속도가 어떨까 궁금했는데 막상 써보니 제가 써본 VPS 중에 가장 빠른 속도라 매우 만족 스럽습니다. (춘천 리전입니다.) 그리...
    Date2020.12.25 Views317 Votes3
    Read More
  18. 아직 XE를 쓰시나요? 이제 곧 php8에서는 XE는 동작 자체가 안됩니다.

    정확하게 말하면 XE에는 php8에서는 에러로 인해서 사이트가 작동하지 않게 됩니다. 그동안 워닝으로 처리해 주던 굉장히 많은 문법오류들이 php8에서 대부분 워닝이 아닌 실제 에러로 허용하지 않게 되었기 때문인데요. 이미 XE는 버그패치는 물론 보안패치 ...
    Date2020.12.21 Views694 Votes4
    Read More
  19. 라이믹스로 만들어진 사이트 모음 페이지 쇼케이스를 만들었습니다.

    라이믹스로 만들어져 운영되는 사이트가 궁금하신 분들을 위해 라이믹스로 만들어진 사이트를 모아놓은 쇼케이스를 만들었습니다. 푸터(하단) 메뉴에 바로가기 달아 놓았습니다. https://rxtip.kr/showcase 다른 라이믹스로 만들어진 사이트를 제보해 주실 분...
    Date2020.12.20 Views668 Votes3
    Read More
  20. No Image

    라이믹스 꿀팁 여기에 라이믹스 2.0 정식버전 적용했습니다.

    정식버전이 오늘 나왔고 타임라인 모듈 2페이지 안나오는 문제도 해결 되었다고 해서 부담없는 여기를 먼저 2.0 적용했습니다. 방금 업데이트 마쳤구요. 아마 여기는 자료가 거의 없어서 문제되는 자료는 없을 것 같습니다. 앞으로 다른 서드파티 모듈 등 여기...
    Date2020.12.18 Views235 Votes3
    Read More
Prev 1 2 3 4 Next
/ 4